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

Apakah koneksi ke MongoDB secara otomatis ditutup pada process.exit()?

Jawabannya adalah tidak . Koneksi DB tidak dimatikan dengan baik saat Anda keluar (atau mogok).

Untuk melakukannya, Anda harus menggunakan sesuatu yang mirip dengan:

// Create a function to terminate your app gracefully:
function gracefulShutdown(){
    // First argument is [force], see mongoose doc.
    mongoose.connection.close(false, () => {
      console.log('MongoDb connection closed.');
    });
  });
}

// Ask node to run your function before exit:

// This will handle process.exit():
process.on('exit', gracefulShutdown);

// This will handle kill commands, such as CTRL+C:
process.on('SIGINT', gracefulShutdown);
process.on('SIGTERM', gracefulShutdown);
process.on('SIGKILL', gracefulShutdown);

// This will prevent dirty exit on code-fault crashes:
process.on('uncaughtException', gracefulShutdown);

Ada juga beberapa paket untuk menangani perilaku ini, tetapi ini biasanya sangat mudah, dan mudah diterapkan.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kueri bersarang di mongoDB

  2. Mongodb v4.0 Transaction, MongoError:Nomor transaksi hanya diperbolehkan pada anggota kumpulan replika atau mongo

  3. Laravel 5 mengeksekusi agregasi dengan mongodb di mana klausa

  4. Skrip shell bash tidak terhubung ke MongoDB meskipun statusnya aktif

  5. Bagaimana saya mengembalikan urutan Postingan MongoDB berdasarkan waktu Favorit oleh pengguna?