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

MongoDB में विशेषताओं के साथ कई से कई संबंधों का प्रतिनिधित्व करने के लिए सर्वश्रेष्ठ मॉडल

कई मायनों में उल्का का एपीआई फ्लैट रिलेशनल दस्तावेजों को प्रोत्साहित करता है, हालांकि मोंगोडीबी एक गैर-संबंधपरक डेटा स्टोर है। दुर्भाग्य से, इस संघर्ष को डेवलपर के हल करने के लिए एक अभ्यास के रूप में छोड़ दिया गया है।

स्कीमा संरचना और जुड़ाव की धारणा एक ही उत्तर में शामिल करने के लिए एक बहुत बड़ा विषय है, इसलिए मैं यथासंभव संक्षिप्त होने का प्रयास करूंगा।

कारणों कि आपको रिलेशनल मॉडल क्यों चुनना चाहिए

मान लें कि आपके पास टिप्पणी और पोस्ट डेटा है। विचार करें कि यदि आप अपनी पोस्ट में टिप्पणियों को एम्बेड करते हैं तो क्या होगा।

  • डीडीपी दस्तावेजों पर काम करता है। जब भी उसी पोस्ट में कोई नई टिप्पणी जोड़ी जाती है, तो सभी टिप्पणियां भेजी जाएंगी।

  • allow और deny दस्तावेजों पर काम करते हैं नियम यह अपेक्षा करना अनुचित हो सकता है कि समान नियम पोस्ट और टिप्पणियों दोनों पर एक साथ लागू होते हैं।

  • प्रकाशन संग्रह के मामले में अधिक समझ में आते हैं। उपरोक्त परिदृश्य में, हम उनकी पोस्ट से स्वतंत्र टिप्पणियों की सूची आसानी से प्रकाशित नहीं कर सके।

  • संबंधपरक डेटाबेस अच्छे कारणों से मौजूद हैं। उनमें से एक है आपके दूसरे समाधान में निहित एकाधिक संशोधन समस्या से बचना।

कारणों कि आपको एक एम्बेडेड मॉडल क्यों चुनना चाहिए

  • जुड़ने मूल रूप से MongoDB द्वारा समर्थित नहीं हैं, और प्रतिक्रियाशील जुड़ाव बनाने के लिए कोई कोर पैकेज नहीं है।

सुझाव

अपने तीसरे समाधान का प्रयोग करें। मेरे अनुभव में, एक रिलेशनल मॉडल चुनने के कारण डेटा स्टोर द्वारा लगाए गए प्रतिबंधों से कहीं अधिक हैं। बेशक जॉइन की कमी पर काबू पाना आसान नहीं है, लेकिन दर्द केवल कुछ मुट्ठी भर प्रकाशित कार्यों के लिए अलग होने की संभावना है। यहां कुछ संसाधन दिए गए हैं जिनकी मैं अत्यधिक अनुशंसा करता हूं:

  • EventedMind पर अनेक-से-अनेक संबंध कैसे प्रकाशित करें। क्रिस आपके सटीक उपयोग के मामले को विस्तार से कवर करता है, हालांकि वह मैन्युअल रूप से प्रतिक्रियात्मक रूप से कॉलबैक का निरीक्षण करता है, जिसकी मैं अनुशंसा नहीं करता हूं।

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

  • डिस्कवर उल्का से असामान्यकरण अध्याय। इसमें मेरे द्वारा ऊपर किए गए कई बिंदुओं को शामिल किया गया है और यह भी बताया गया है कि आपके कुछ डेटा को कब और कैसे असामान्य किया जाए।

  • आप अपने डेटा में शामिल होने के लिए संबंधों के साथ प्रकाशित करें का उपयोग कर सकते हैं। वैकल्पिक पैकेज में शामिल हैं:स्मार्ट पब्लिश, पब्लिश कंपोजिट, और सिंपल पब्लिश।

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. संपत्ति मौजूद होने पर नेवला मॉडल की hasOwnProperty झूठी वापसी क्यों करती है?

  2. बवंडर त्रुटि:[त्रुटि 24] बहुत अधिक खुली फ़ाइलें त्रुटि

  3. किसी सरणी से डुप्लिकेट प्रविष्टियों को कैसे हटाएं?

  4. MongoDB में अप्सर्ट करने के लिए गाइड

  5. mongodb:किसी स्तंभ का उच्चतम संख्यात्मक मान ज्ञात करना