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

बड़े डेटा सेट के साथ नेवले को कैसे पॉप्युलेट करें

i आपकी अनुक्रमणिका है जहां से आप catalogArray . में इनपुट डेटा खींच रहे हैं , लेकिन आप इसका उपयोग यह ट्रैक करने के लिए भी कर रहे हैं कि कितने सहेजे गए हैं जो संभव नहीं है। उन्हें इस तरह अलग से ट्रैक करने का प्रयास करें:

var i = 0;
var saved = 0;
Catalog.remove({}, function(err){
    while(i < catalogArray.length){
        new Catalog(JSON.parse(catalogArray[i])).save(function(err, doc){
            saved++;
            if(err){
                console.log(err);
            } else {
                if(saved === catalogArray.length) {
                    return callback('database populated');
                }
            }
        });
        i++;
    }
});

अपडेट करें

यदि आप प्रक्रिया में सख्त प्रवाह नियंत्रण जोड़ना चाहते हैं, तो आप async . का उपयोग कर सकते हैं मॉड्यूल का forEachLimit बकाया save . की संख्या को सीमित करने के लिए कार्य जो कुछ भी आप निर्दिष्ट करते हैं उसके लिए संचालन। उदाहरण के लिए, इसे एक बकाया save . तक सीमित करने के लिए एक समय में:

Catalog.remove({}, function(err){
    async.forEachLimit(catalogArray, 1, function (catalog, cb) {
        new Catalog(JSON.parse(catalog)).save(function (err, doc) {
            if (err) {
                console.log(err);
            }
            cb(err);
        });
    }, function (err) {
        callback('database populated');
    });
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. जावा स्पार्क स्पार्कसेशन को कैसे कॉन्फ़िगर करें नमूना आकार

  2. मोंगोडीबी:सी # में नेस्टेड सरणी के साथ संग्रह कैसे लोड करें?

  3. $निकट और $भीतर . के बीच MongoDB भू-स्थानिक अंतर

  4. MongoDB WAMP पर PHP के साथ काम नहीं कर रहा है

  5. mongodb योग स्ट्रिंग को कैसे क्वेरी करें?