Ini adalah praktik terbaik untuk membuka koneksi sekali, menyimpannya dalam variabel dan menutupnya di akhir. MongoDB secara eksplisit merekomendasikan ini. Inilah alasan mengapa membuka dan menutup koneksi adalah bagian dari API MongoDB daripada harus terjadi secara otomatis untuk setiap kueri.
Membuka dan menutup koneksi untuk setiap kueri akan menimbulkan overhead yang signifikan baik dalam hal kinerja (CPU + latensi), lalu lintas jaringan, manajemen memori (membuat dan menghapus objek), tidak hanya untuk klien tetapi juga untuk server itu sendiri, yang juga berdampak klien lain.
Tentang terminologi koneksi :di beberapa driver seperti Java, apa yang sebenarnya dibuat dan disimpan dalam variabel bukanlah koneksi fisik, tetapi MongoClient
contoh. Ini terlihat seperti koneksi dari perspektif abstrak (API), tetapi sebenarnya merangkum koneksi fisik yang sebenarnya dan menyembunyikan kerumitan dari pengguna.
Membuat MongoClient
contoh hanya sekali, untuk driver yang mendukung ini, juga akan memungkinkan Anda mendapatkan manfaat dari pengumpulan koneksi di mana driver memelihara koneksi aktif secara paralel untuk Anda, sehingga Anda juga hanya perlu membuat satu MongoClient
contoh di beberapa utas.