Anda harus membuat koneksi Anda sekali dan menggunakannya di semua penangan.
Saat ini yang Anda lakukan adalah menghubungkan kembali ke database pada setiap permintaan, bahkan pada permintaan yang tidak menggunakan database sama sekali. Selain itu, Anda memanggil next() bahkan sebelum menunggu koneksi dibuat.
Koneksi basis data dimaksudkan untuk persisten - bukan hal satu kali, jadi Anda cenderung mendapatkan kinerja yang sangat buruk dengan pendekatan Anda dan saya bahkan tidak yakin mengapa Anda ingin melakukan itu. Apakah Anda memiliki masalah dengan satu koneksi? Saya tidak berpikir bahwa memalu database Anda seperti itu akan membantu. Jika ada, itu hanya akan memperburuk keadaan.
Saat Anda terhubung ke Mongo denganDriver Node.js MongoDB asli ada beberapa pilihan yang bisa kamu gunakan, seperti:
poolSize
- Atur poolSize maksimum untuk setiap server individu atau koneksi proxy (defaultnya adalah5
)autoReconnect
- Sambungkan kembali pada kesalahan (default adalahtrue
)
Beberapa opsi menarik lainnya adalah:reconnectTries
, reconnectInterval
, keepAlive
, connectTimeoutMS
, socketTimeoutMS
.
Anda dapat mengubah nilai opsi tersebut jika Anda tidak puas dengan defaultnya.
Untuk info lebih lanjut lihat:
- Kegagalan Koneksi dan Percobaan Ulang
- MongoClient atau cara terhubung dengan yang baru dan lebih baik cara
- Tutorial / Hubungkan ke MongoDB
- Referensi / Opsi Koneksi / Setelan Koneksi
- Pertanyaan tentang sambungan otomatis driver mongo node.js (milis)