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

क्या मोंगोडब उप दस्तावेज फायरस्टोर उपसंग्रह के बराबर है?

एक परियोजना में कितनी गतिविधियाँ हो सकती हैं? यदि कोई सीमा नहीं है तो आप गतिविधियों के लिए रूट स्तर संग्रह बनाने से बेहतर हैं। MongoDB में, अधिकतम BSON दस्तावेज़ का आकार 16 MB है . यह कि आप सभी परियोजनाओं और उनकी गतिविधियों को एक दस्तावेज़ (संगठन दस्तावेज़) में संग्रहीत करने में सक्षम नहीं हो सकते हैं।

मैं 3 संग्रह तैयार करूंगा - संगठन, परियोजनाएं और गतिविधियां।

  1. प्रत्येक संगठन के पास संगठनों में एक दस्तावेज़ होना चाहिए संग्रह जैसा कि आपके पास Firestore में है।
  2. प्रत्येक प्रोजेक्ट में प्रोजेक्ट . में एक दस्तावेज़ होना चाहिए एक फ़ील्ड "organizationID" युक्त संग्रह ताकि आप किसी विशिष्ट संगठन की परियोजनाओं को उनकी ID का उपयोग करके क्वेरी कर सकें। यह आपके प्रोजेक्ट उप-संग्रह में एक दस्तावेज़ के बराबर है। प्रत्येक प्रोजेक्ट की अपनी विशिष्ट आईडी भी होनी चाहिए।
  3. प्रत्येक गतिविधि में गतिविधियों . में एक दस्तावेज़ होना चाहिए "प्रोजेक्ट आईडी" फ़ील्ड युक्त संग्रह ताकि किसी विशिष्ट प्रोजेक्ट की गतिविधियों को पुनर्प्राप्त किया जा सके।

मैंने वे अतिरिक्त organizationID जोड़ दिए हैं , projectID फ़ील्ड भले ही आपके पास _id हो यदि आप साथ-साथ आसान प्रश्नों के लिए फायरस्टोर दस्तावेज़ आईडी रखना चाहते हैं।

आपको 16 एमबी के बारे में चिंता करने की ज़रूरत नहीं है दस्तावेज़ का आकार इस तरह से सीमित है और जब तक आपके पास सही आईडी हैं, तब तक प्रोजेक्ट और गतिविधियों दोनों को क्वेरी करना आसान हो जाएगा।

एक निश्चित परियोजना की गतिविधियों की पूछताछ:

await db.collection("activities").find({projectID: "myProjectID"}).toArray()

इसके बाद यह आप पर निर्भर करता है कि आप अनुमानों, एकत्रीकरण आदि के साथ प्रश्नों को कैसे लिखना चाहते हैं।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB कैश सिस्टम को समझें

  2. डेटटाइम ऑब्जेक्ट और YYYY-MM-DD स्ट्रिंग के बीच MongoDB अंतर

  3. MongoDB नोड ड्राइवर जनरेटिंग इंस्टेंस पूल त्रुटियों को क्यों नष्ट कर रहा है?

  4. मोंगो:कुंजी एक स्तर गहरी द्वारा क्वेरी

  5. मैं नेवला में एक आईडी सरणी क्वेरी कैसे निष्पादित करूं?