Perbarui
Mongoose 5.7.1 dirilis dan tampaknya memperbaiki masalah, jadi siapkan useUnifiedTopology
pilihan bekerja seperti yang diharapkan.
mongoose.connect(mongoConnectionString, {useNewUrlParser: true, useUnifiedTopology: true});
Jawaban asli
Saya menghadapi masalah yang sama dan memutuskan untuk mendalami kode Mongoose:https://github.com/Automattic/mongoose/search?q=useUnifiedTopology&unscoped_q=useUnifiedTopology
Tampaknya menjadi opsi yang ditambahkan pada versi 5.7 dari Mongoose dan belum didokumentasikan dengan baik. Saya bahkan tidak dapat menemukannya disebutkan dalam riwayat perpustakaan https://github.com/Automattic/mongoose/blob/master/History.md
Menurut komentar dalam kode:
- @param {Boolean} [options.useUnifiedTopology=false] Salah secara default. Setel ke
true
untuk ikut serta dalam set replika driver MongoDB dan mesin pemantau kluster sharded.
Ada juga masalah pada proyek GitHub tentang kesalahan ini:https://github.com/Automattic/mongoose/issues/8156
Dalam kasus saya, saya tidak menggunakan Mongoose dalam set replika atau sharded cluster dan meskipun opsinya harus salah. Tetapi jika salah itu mengeluh pengaturannya harus benar. Setelah benar, itu masih tidak berfungsi, mungkin karena basis data saya tidak berjalan pada kumpulan replika atau kluster sharded.
Saya telah menurunkan versi ke 5.6.13 dan proyek saya kembali berfungsi dengan baik. Jadi satu-satunya pilihan yang saya lihat untuk saat ini adalah menurunkan versinya dan menunggu perbaikan untuk memperbarui versi yang lebih baru.