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

Nodejs में MongoDB डेटाबेस कनेक्शन को कब बंद करें

यहां गणना के दृष्टिकोण के आधार पर एक संभावित समाधान दिया गया है (मैंने इसका परीक्षण नहीं किया है और इसमें कोई त्रुटि नहीं है, लेकिन यह विचार व्यक्त करना चाहिए)।

मूल रणनीति है:कितने रिकॉर्ड को अद्यतन करने की आवश्यकता है, इसकी गणना प्राप्त करें, प्रत्येक रिकॉर्ड को एसिंक्रोनस रूप से सहेजें और सफलता पर एक कॉलबैक, जो गिनती को घटाएगा और डीबी को बंद कर देगा यदि गिनती 0 तक पहुंच जाती है (जब अंतिम अपडेट समाप्त होता है)। {safe:true} . का उपयोग करके हम यह सुनिश्चित कर सकते हैं कि प्रत्येक अपडेट सफल हो।

mongo सर्वर प्रति कनेक्शन एक थ्रेड का उपयोग करेगा, इसलिए या तो a) बंद अप्रयुक्त कनेक्शन, या b) पूल/उनका पुन:उपयोग करना अच्छा है।

db.open(function (err, db) {
  db.collection('foo', function (err, collection) {
    var cursor = collection.find({});
    cursor.count(function(err,count)){
      var savesPending = count;

      if(count == 0){
        db.close();
        return;
      }

      var saveFinished = function(){
        savesPending--;
        if(savesPending == 0){
          db.close();
        }
      }

      cursor.each(function (err, doc) {
        if (doc != null) {
          doc.newkey = 'foo'; // Make some changes
          db.save(doc, {safe:true}, saveFinished);
        }
      });
    })
  });
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एक MongoDB सरणी में डुप्लिकेट मान ढूँढना

  2. एक डेटाटाइम के महीने, दिन, वर्ष ... पर क्वेरी मोंगोडब

  3. मोंगोडीबी $indexOfBytes

  4. स्प्रिंग डेटा MongoDB - इंडेक्स, एनोटेशन और कन्वर्टर्स

  5. व्याख्या () Mongodb में:nscanned और nscannedObjects के बीच अंतर