Seperti dicatat, 3.1.0-beta4
pembebasan pengemudi "dilepaskan ke alam liar" sedikit lebih awal dengan penampilan. Rilis ini merupakan bagian dari pekerjaan yang sedang berlangsung untuk mendukung fitur-fitur yang lebih baru dalam rilis MongoDB 4.0 mendatang dan membuat beberapa perubahan API lainnya.
Salah satu perubahan yang memicu peringatan saat ini adalah useNewUrlParser
opsi, karena beberapa perubahan sekitar bagaimana lewat koneksi URI sebenarnya bekerja. Lebih lanjut tentang itu nanti.
Sampai hal-hal "menetap", mungkin disarankan untuk "menyematkan" setidaknya ke versi minor untuk 3.0.x
rilis:
"dependencies": {
"mongodb": "~3.0.8"
}
Itu harus menghentikan 3.1.x
cabang yang diinstal pada instalasi "segar" ke modul simpul. Jika Anda sudah menginstal rilis "terbaru" yang merupakan versi "beta", maka Anda harus membersihkan paket-paket Anda (dan package-lock.json
) dan pastikan Anda menabraknya ke 3.0.x
rilis seri.
Sedangkan untuk benar-benar menggunakan opsi URI koneksi "baru", batasan utama adalah untuk benar-benar menyertakan port
pada string koneksi:
const { MongoClient } = require("mongodb");
const uri = 'mongodb://localhost:27017'; // mongodb://localhost - will fail
(async function() {
try {
const client = await MongoClient.connect(uri,{ useNewUrlParser: true });
// ... anything
client.close();
} catch(e) {
console.error(e)
}
})()
Itu aturan yang lebih "ketat" dalam kode baru. Poin utama adalah bahwa kode saat ini pada dasarnya adalah bagian dari mongodb
kode repositori "node-native-driver" (npm ), dan "kode baru" sebenarnya diimpor dari mongodb-core
perpustakaan yang "menopang" driver node "publik".
Inti dari "opsi" yang ditambahkan adalah untuk "memudahkan" transisi dengan menambahkan opsi ke kode baru sehingga parser yang lebih baru (sebenarnya berbasis di sekitar url
) digunakan dalam kode menambahkan opsi dan menghapus peringatan penghentian, dan karenanya memverifikasi bahwa string koneksi Anda yang lewat benar-benar sesuai dengan apa yang diharapkan oleh parser baru.
Di rilis mendatang parser 'legacy' akan dihapus dan kemudian parser baru akan menjadi apa yang digunakan bahkan tanpa opsi. Tetapi pada saat itu, diharapkan bahwa semua kode yang ada memiliki kesempatan yang cukup untuk menguji string koneksi yang ada terhadap apa yang diharapkan oleh pengurai baru.
Jadi jika Anda ingin mulai menggunakan fitur driver baru saat dirilis, maka gunakan beta
rilis yang tersedia dan berikutnya dan idealnya pastikan Anda menyediakan string koneksi yang valid untuk parser baru dengan mengaktifkan useNewUrlParser
opsi di MongoClient.connect()
.
Jika Anda tidak benar-benar membutuhkan akses ke fitur yang berkaitan dengan pratinjau rilis MongoDB 4.0, maka sematkan versi ke a 3.0.x
seri seperti disebutkan sebelumnya. Ini akan berfungsi seperti yang didokumentasikan dan "menyematkan" ini memastikan bahwa 3.1.x
rilis tidak "diperbarui" selama ketergantungan yang diharapkan sampai Anda benar-benar ingin menginstal versi stabil.
beta
versi yang entah bagaimana dirilis pada npm selama akhir pekan. Jangan khawatir tentang hal itu sampai API benar-benar selesai. Anda melakukan hal yang benar menginstal versi stabil.