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

कुल 16MB सीमा से बचें

समस्या यह है कि मूल ड्राइवर इस बात से भिन्न है कि शेल विधि डिफ़ॉल्ट रूप से कैसे काम कर रही है, जिसमें "शेल" वास्तव में एक "कर्सर" ऑब्जेक्ट लौटा रहा है, जहां मूल ड्राइवर को "स्पष्ट रूप से" इस विकल्प की आवश्यकता होती है।

"कर्सर" के बिना, .aggregate() दस्तावेज़ों की एक सरणी के रूप में एक एकल बीएसओएन दस्तावेज़ लौटाता है, इसलिए हम सीमा से बचने के लिए इसे एक कर्सर में बदल देते हैं:

let cursor = collection.aggregate(
  [{ "$group": { "_id": "$internalNumber" } }],
  { "cursor": { "batchSize": 500 } }
);

cursor.toArray((err,docs) => {
   // work with resuls
});

फिर आप .toArray() . जैसी नियमित विधियों का उपयोग कर सकते हैं परिणामों को एक जावास्क्रिप्ट सरणी बनाने के लिए जो 'क्लाइंट' पर समान सीमाएं, या "कर्सर" को पुनरावृत्त करने के अन्य तरीकों को साझा नहीं करता है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला जे एस खोजएक हमेशा अशक्त लौटाता है

  2. SQL में स्ट्रिंग्स को कैसे संयोजित करें

  3. _id का उपयोग करके खोजें जो एकत्रीकरण के साथ काम नहीं कर रहा है

  4. क्या MongoDB का $in क्लॉज गारंटी ऑर्डर

  5. प्रतिकृति सेट मोंगो डोकर-लिखें