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

सेल में ऐप बनाते समय मोंगो डीबी में ऑब्जेक्ट आईडी को ओवरराइट कैसे करें

ध्यान दें :Mongo id जितना संभव हो उतना अनूठा अच्छी तरह से स्केल करने के लिए। डिफ़ॉल्ट ObjectId एक टाइमस्टैम्प, मशीन आईडी, प्रक्रिया आईडी और एक यादृच्छिक वृद्धिशील मूल्य से मिलकर बनता है। इसे केवल बाद वाले के साथ छोड़ने से यह टकराव की स्थिति में आ जाएगा।

हालांकि, कभी-कभी आप कभी न खत्म होने वाले ObjectID मान (अर्थात एन्कोडिंग के बाद URL में दिखाए जाने के लिए बुरी तरह से सुंदर बनाना चाहते हैं ) फिर, आपको एक उपयुक्त परमाणु वृद्धि रणनीति . का उपयोग करने पर विचार करना चाहिए ।

ओवरराइडिंग _id उदाहरण:

db.testSOF.insert({_id:"myUniqueValue", a:1, b:1})

एक ऑटो-इन्क्रीमेंटिंग सीक्वेंस बनाना :

  • काउंटर संग्रह का उपयोग करें :मूल रूप से एक अलग संग्रह जो अनुक्रम की अंतिम संख्या को ट्रैक करता है। व्यक्तिगत रूप से, मैंने सिस्टम.जेएस संग्रह में findAndModify फ़ंक्शन को संग्रहीत करने के लिए इसे और अधिक सामंजस्यपूर्ण पाया है, हालांकि यह कमी संस्करण नियंत्रण की क्षमताएं।
  • आशावादी लूप

संपादित करें:

मुझे एक समस्या मिली है जिसमें पाल-मोंगो के मालिक ने कहा:

उन्होंने इस उत्तर में मेरे द्वारा जोड़ी गई पहली तकनीक का उल्लेख किया है:काउंटर्स संग्रह का उपयोग करें . इसी मुद्दे में, लेविन्स समाधान दिखाता है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. उल्का:विभिन्न उपयोगकर्ताओं के लिए अद्वितीय MongoDB URL

  2. जावास्क्रिप्ट वस्तु को एक तत्व निर्दिष्ट नहीं कर रहा है

  3. मोंगोडब और नोडज में प्रकार संख्या के क्षेत्र को घटाना

  4. शेफ सोलो एरर:कुकबुक उपयुक्त नहीं मिली

  5. पीएचपी घातक त्रुटि:कक्षा 'मोंगोडेट' नहीं मिली