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

नेवला का उपयोग करके MongoDB में बल्क इंसर्ट

आप insertMany() का उपयोग करना चाह सकते हैं यदि आप नवीनतम Mongoose संस्करण 4.4.X . का उपयोग कर रहे हैं तो यहां विधि और अधिक, जो अनिवार्य रूप से Model.Collection.insertMany() हुड के नीचे और ड्राइवर समानांतर >=1000 . को संभाल सकता है आपके लिए डॉक्स।

myData = [Obj1, Obj2, Obj3.......];
Collection1.insertMany(myData, function(error, docs) {});

या बेहतर त्रुटि प्रबंधन के लिए वादों का उपयोग करना

Collection1.insertMany(myData)
    .then(function(docs) {
         // do something with docs
    })
    .catch(function(err) {
        // error handling here
    });

यह दस्तावेज़ों का एक समूह बनाकर काम करता है, कॉल करता है .validate() उन पर समानांतर में, और फिर अंतर्निहित ड्राइवर के insertMany() के परिणाम पर toObject({ virtuals:false }); हालांकि insertMany() प्री-सेव हुक को ट्रिगर नहीं करता है, इसका बेहतर प्रदर्शन है क्योंकि यह प्रत्येक दस्तावेज़ के लिए 1 के बजाय सर्वर पर केवल 1 राउंड-ट्रिप करता है।

नेवला संस्करणों के लिए ~3.8.8, ~3.8.22, 4.x जो MongoDB सर्वर का समर्थन करते हैं >=2.6.x , आप बल्क API का उपयोग कर सकते हैं इस प्रकार है

var bulk = Collection1.collection.initializeOrderedBulkOp(),
    counter = 0;

myData.forEach(function(doc) {
    bulk.insert(doc);

    counter++;
    if (counter % 500 == 0) {
        bulk.execute(function(err, r) {
           // do something with the result
           bulk = Collection1.collection.initializeOrderedBulkOp();
           counter = 0;
        });
    }
});

// Catch any docs in the queue under or over the 500's
if (counter > 0) {
    bulk.execute(function(err,result) {
       // do something with the result here
    });
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. आप नेवला 5.x.x के साथ arrayFilters का उपयोग कैसे करते हैं?

  2. BsonSerializationException तब होता है जब तत्व का नाम किसी अवधि में समाप्त होता है

  3. कुप्पी-MongoEngine और PyMongo एकत्रीकरण क्वेरी

  4. Mongodb प्रोटोकॉल के साथ Azure DocumentDb में अनुक्रमणिका नहीं बना सकता

  5. कैसे पाइपलाइन एकत्रीकरण में एक दस्तावेज़ में दो क्षेत्रों की तुलना करने के लिए (mongoDB)