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

_id . पर मोंगोडब सॉर्ट ऑर्डर

आंद्रे ने जो कहा उस पर थोड़ा विस्तार करने के लिए:

चूंकि ऑब्जेक्टआईडी टाइमस्टैम्प केवल दूसरे के लिए है, इसलिए टाइमस्टैम्प (पहले 4 बाइट्स) के लिए समान मान के साथ दो (या अधिक) ऑब्जेक्ट आसानी से बनाए जा सकते हैं। यदि ये एक ही मशीन (मशीन आईडी - अगले 3 बाइट्स), उसी प्रक्रिया (पीआईडी ​​- अगले 2 बाइट्स) पर बनाए गए थे, तो उन्हें अलग करने वाली एकमात्र चीज "इंक" फ़ील्ड होगी, अंतिम 3 बाइट्स अंत में।

अपडेट करें:जनवरी 2020

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

अपडेट समाप्त करें

पूरी कल्पना के लिए यहां देखें:

https://docs.mongodb.com/manual/reference/method/ObjectId/#ObjectIDs-BSONObjectIDSpecification

वह "इंक" फ़ील्ड या तो एक कभी बढ़ता हुआ क्षेत्र है (तब आप उचित रूप से इस प्रकार को सम्मिलित/बनाने के क्रम में होने की उम्मीद कर सकते हैं) या एक यादृच्छिक मान (तब अद्वितीय होने की संभावना है, लेकिन आदेश नहीं दिया गया है), यह मानते हुए कि युक्ति सही ढंग से लागू की गई है . ध्यान दें कि ऑब्जेक्ट आईडी ड्राइवर, या एप्लिकेशन (या वास्तव में मैन्युअल रूप से) द्वारा उत्पन्न किया जा सकता है, न कि MongoDB द्वारा, इसलिए जब तक आपके पास इस पर पूर्ण नियंत्रण नहीं है कि वे कैसे उत्पन्न होते हैं, तो उपरोक्त में से कोई भी या सभी लागू हो सकते हैं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Azure तालिका बनाम MongoDB Azure पर

  2. Ansible . का उपयोग करके क्लाउड में MongoDB प्रतिकृति सेट को बनाए रखना

  3. MongoDB में दस्तावेज़ गिनने के 7 तरीके

  4. संग्रह से डेटा प्राप्त करें b संग्रह में नहीं एक MongoDB शेल क्वेरी में

  5. प्रत्येक समूह के लिए अंतिम सही मान लौटाएं