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

उप-दस्तावेज़ सरणी के लिए मोंगो _id

मुझे लगता है:

{
    g: [
        { _id: ObjectId(), property: '' },
        // next
    ]
}

इस प्रश्न के लिए संरचना का प्रकार।

सामान्य रूप से नहीं। _id s संस्थाओं के लिए विशिष्ट पहचानकर्ता हैं। जैसे अगर आप _id add जोड़ना चाह रहे हैं एक उप-दस्तावेज़ ऑब्जेक्ट के भीतर हो सकता है कि आपने अपने डेटा को बहुत अच्छी तरह से सामान्यीकृत नहीं किया हो और यह आपके स्कीमा डिज़ाइन के भीतर एक मौलिक दोष का संकेत हो।

उप-दस्तावेजों को उस दस्तावेज़ के लिए दोहराए जाने वाले डेटा, यानी पते या उपयोगकर्ता या कुछ और रखने के लिए डिज़ाइन किया गया है।

कहा जा रहा है _id जोड़ने के लिए हमेशा एक बुरी चीज नहीं है। उदाहरण मैंने अभी-अभी पतों के साथ कहा है। कल्पना कीजिए कि आपके पास एक शॉपिंग कार्ट सिस्टम होना चाहिए और (किसी कारण से) आपने ऑर्डर दस्तावेज़ के पते को दोहराया नहीं तो आप एक _id का उपयोग करेंगे या कोई अन्य पहचानकर्ता उस उप-दस्तावेज़ को बाहर निकालने के लिए।

इसके अलावा आपको दस्तावेजों को जोड़ने पर विचार करना होगा। अगर वह _id किसी अन्य दस्तावेज़ का वर्णन करता है और गुण उस दस्तावेज़ के लिए उस लिंक किए गए दस्तावेज़ के संबंध में कस्टम विशेषताएँ हैं तो यह भी ठीक है।

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

इंडेक्स के लिए यह वास्तव में मानक _id . से अलग काम नहीं करता है दस्तावेज़ पर ही फ़ील्ड और पूरे क्षेत्र में एक अद्वितीय अनुक्रमणिका को पूरे संग्रह में काम करना चाहिए (परिदृश्य पर निर्भर, अपने प्रश्नों का परीक्षण करें)।

ध्यान दें:MongoDB कोई _id नहीं जोड़ेगा आपके लिए उप-दस्तावेजों के लिए।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला - मापदंड द्वारा उप-दस्तावेज़ ढूँढना

  2. कुछ क्षेत्रों के साथ $ जोड़ें नल के रूप में शून्य वापसी योग मूल्य के रूप में

  3. mongodb में उप-दस्तावेज़ सरणी पर $regex के साथ $slice का उपयोग करना

  4. MongoDB - $text ऑपरेटर वाक्यांश या शब्द के लिए खोज करता है

  5. MongoDB - दो बहुभुजों का भू-स्थानिक चौराहा