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

मोंगोडीबी ऑब्जेक्टआईड्स एक्सपोजर

लघु संस्करण:हाँ, हर जगह स्ट्रिंग का उपयोग करें।

यदि आप एनोटेशन के साथ ठीक हैं, तो इसका उपयोग करें:

[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string Id { get; set; }

अन्यथा आप कक्षा मानचित्र का उपयोग कर सकते हैं:

BsonClassMap.RegisterClassMap<i_YourModel>(cm =>
 {
  cm.AutoMap();
  cm.SetIdMember(cm.GetMemberMap(x => x.Id)
    .SetIdGenerator(StringObjectIdGenerator.Instance));
 }
);

लंबा संस्करण:

यह सलाह दी जाती है कि कुछ अपारदर्शी का उपयोग करें, जो आपके मॉडल और सेवा परत में जितना संभव हो सके (जब संभव हो) अंतर्निहित डेटाबेस कार्यान्वयन से सीधे जुड़ा नहीं है।

पहले, प्राथमिक कुंजी आईडी जहां आमतौर पर बड़ी संख्याएं होती थीं, जिन्हें तब डेटाबेस पर प्राथमिक कुंजी कॉलम में मैप किया जाता था। हालांकि, जब एक नई इकाई को एक नई आईडी निर्दिष्ट करते हैं, तो एक अद्वितीय आईडी सुनिश्चित करने के लिए डेटाबेस पर एक जांच की जानी चाहिए। LO-HI आईडी जेनरेटर से लेकर auto_increment कॉलम तक, सीक्वेंस आदि तक कई तकनीक मौजूद हैं।

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

MongoDB कोई अंतर नहीं है, और ObjectId का उपयोग करता है जो एक प्रकार के UUIDs हैं।

इन आईडी (दोनों मोंगो और अन्य) को हमेशा स्ट्रिंग्स के रूप में दर्शाया जा सकता है, आमतौर पर कुंजी को लिखने वाले बाइट्स का एक हेक्स प्रतिनिधित्व। तो, अपने मॉडल में स्ट्रिंग को आईडी के रूप में उपयोग करें, आपकी सेवा परत में वही, आप डेटा परत में इसे अपने अंतर्निहित डेटाबेस कार्यान्वयन के लिए बेहतर प्रारूप में परिवर्तित करें, इस मामले में मोंगोडीबी।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb एम्बेड संरचना अद्यतन और खोज?

  2. मोंगोज़ और एसिंक वॉटरफॉल मॉडल का उपयोग करके मोंगोडीबी में डेटा कैसे स्टोर करें

  3. विशेष क्षेत्र द्वारा मुख्य दस्तावेज़ और उप दस्तावेज़ को सॉर्ट करने के लिए नेवला क्वेरी

  4. mongodb में स्ट्रिंग प्रकार दिनांक को क्वेरी करें

  5. क्या AWS DocumentDB एक ही प्रश्न में 3+ संग्रह में शामिल होने का समर्थन करता है?