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

ओवरफ्लो त्रुटि:मोंगोडीबी केवल 8-बाइट इनट्स तक ही संभाल सकता है?

बीएसओएन युक्ति — MongoDB का मूल बाइनरी विस्तारित JSON प्रारूप / डेटा प्रकार — केवल 32 बिट (हस्ताक्षरित) और 64 बिट (हस्ताक्षरित) पूर्णांकों का समर्थन करता है — 8 बाइट्स 64 बिट्स हैं।

64 बिट इंट में स्टोर किया जा सकने वाला अधिकतम पूर्णांक मान है:9,223,372,036,854,775,807

आपके उदाहरण में आपको बड़ी आईडी दिखाई देती हैं, उदाहरण के लिए:11,611,747,760,398,664,000

मैं अनुमान लगा रहा हूं कि इस डेटा को उत्पन्न करने वाला ऐप uint64 प्रकारों का उपयोग कर रहा है (अहस्ताक्षरित x2-1 मान रख सकता है)।

यदि संभव हो तो मैं इनमें से किसी भी संभावित समाधान को देखकर शुरू करूंगा:

  • आईडी के लिए int64 (हस्ताक्षरित) प्रकारों का उपयोग करने के लिए दूसरी तरफ बदलना।
  • आने वाली आईडी को ObjectId() का इस्तेमाल करके बदलना जैसे ही आप अपनी विशिष्ट आईडी के लिए 12 बाइट ~ GUID प्राप्त करते हैं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एक क्लस्टर में चल रहा उल्का और वास्तविक समय में परिवर्तन

  2. अपरिभाषित विधि पर कॉल करें MongoDB\Driver\ReadConcern::isDefault()

  3. मोंगोडब फ्लाई पर डेटाबेस/संग्रह कैसे बनाता है

  4. mongodb - नेस्टेड उप-दस्तावेज़ों को खोलना;

  5. Java का उपयोग करके MongoDB सर्वर इंस्टेंस के कनेक्शन के दौरान प्रमाणीकरण