MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

आबादी वाले क्षेत्रों पर MongoDB क्वेरी

इसका उत्तर है अपनी स्कीमा बदलना।

रिलेशनल डेटाबेस के उपयोग के इतिहास से दस्तावेज़ डेटाबेस विकास में आने पर आप उस जाल में पड़ गए हैं जो आपके सामने है:MongoDB एक रिलेशनल डेटाबेस नहीं है और इसे एक जैसा नहीं माना जाना चाहिए।

आपको विदेशी कुंजियों और पूरी तरह से सामान्यीकृत डेटा के बारे में सोचना बंद करना होगा और इसके बजाय, प्रत्येक दस्तावेज़ को यथासंभव स्व-निहित रखना होगा, यह सोचकर कि अपने दस्तावेज़ों में प्रासंगिक संबद्ध डेटा को सर्वोत्तम तरीके से कैसे एम्बेड किया जाए।

इसका मतलब यह नहीं है कि आप जुड़ाव भी बनाए नहीं रख सकते। इसका मतलब इस तरह की संरचना हो सकता है, जहां आप केवल आवश्यक विवरण एम्बेड करते हैं, और जरूरत पड़ने पर पूरे रिकॉर्ड के लिए क्वेरी करते हैं:

var activitySchema = new mongoose.Schema({
  event: {
    _id: { type: ObjectId, ref: "Event" },
    name: String,
    private: String
  },

  // ... other fields
});

अपनी एम्बेड रणनीति पर पुनर्विचार करना काफी होगा अपने प्रश्नों को सरल बनाएं और प्रश्नों की संख्या कम से कम रखें। populate आपकी गिनती जल्दी से बढ़ा देगा, और जैसे-जैसे आपका डेटासेट बढ़ता जाएगा, यह एक समस्या बन जाएगा।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Django-nonrel बनाम Django-mongodb बनाम Mongokit बनाम pymongo देशी

  2. MongoDB $lte एकत्रीकरण पाइपलाइन ऑपरेटर

  3. किसी सरणी में किसी आइटम को अपडेट करें जो किसी सरणी में है

  4. MongoDB खोल में डेटाबेस नहीं बना रहा है

  5. एक ही मोंगोडीबी अपडेट में $पुश और $सेट