MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Kapan harus menutup koneksi database MongoDB di Nodejs

Inilah solusi potensial berdasarkan pendekatan penghitungan (saya belum mengujinya dan tidak ada perangkap kesalahan, tetapi itu harus menyampaikan ide).

Strategi dasarnya adalah:Dapatkan hitungan berapa banyak catatan yang perlu diperbarui, simpan setiap catatan secara asinkron dan panggilan balik saat sukses, yang akan mengurangi jumlah dan menutup DB jika hitungan mencapai 0 (ketika pembaruan terakhir selesai). Dengan menggunakan {safe:true} kami dapat memastikan bahwa setiap pembaruan berhasil.

Server mongo akan menggunakan satu utas per koneksi, jadi sebaiknya a) menutup koneksi yang tidak digunakan, atau b) mengumpulkan/menggunakannya kembali.

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. serikat pada koleksi yang sama di mongodb

  2. Mongo:temukan item yang tidak memiliki bidang tertentu

  3. Bagaimana cara terhubung ke cluster Atlas M0 (Free Tier) dengan benar melalui driver Java?

  4. Agregasi dalam zona waktu lokal di mongodb

  5. Memahami Opsi Batas Waktu Klien MongoDB