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

MongoDB में ऑब्जेक्ट आईडी और उसके स्ट्रिंग फॉर्म को संग्रहीत करने के बीच अंतर

मैं, व्यक्तिगत रूप से, आपके कोड को दोष देता हूं। मैं अपने अनुप्रयोगों में सही तरीके से कोडिंग करके इस पूरी तरह से ठीक हो जाता हूं। मैं तुलना करने के लिए कोड में स्ट्रिंग में कनवर्ट करता हूं और मैं यह सुनिश्चित करता हूं कि जो कुछ भी ObjectId . जैसा दिखता है वास्तव में ObjectId . के रूप में उपयोग किया जाता है ।

यह नोट करना अच्छा है कि ObjectId . के बीच (http://docs.mongodb.org/manual/reference/object-id/) और इसका हेक्स प्रतिनिधित्व वास्तव में 12 बाइट्स का अंतर है, ObjectId 12 बाइट होने के नाते और इसका हेक्स प्रतिनिधित्व 24 है।

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

मैं दृढ़ता से अनुशंसा करता हूं कि आप OjbectId . का उपयोग न करें हेक्स प्रतिनिधित्व। यदि आप "अपना जीवन आसान बनाना चाहते हैं" तो बेहतर होगा कि आप एक अलग _id बनाएं जो छोटा है लेकिन किसी भी तरह अद्वितीय और अनुक्रमणिका अनुकूल है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. क्या MongoDB में दो संग्रहों को परमाणु रूप से अपडेट करने का कोई तरीका है?

  2. क्या उल्का के पास संग्रह के लिए एक अलग क्वेरी है?

  3. मोंगो:वापसी गिनती के बराबर नहीं है ()

  4. MongoDB में सरणियों की एक सरणी को क्वेरी करना

  5. मोंगोडब संग्रह में दस्तावेजों की संख्या की गणना कैसे करें