Belirtildiği gibi, 3.1.0-beta4
sürücünün serbest bırakılması, şeylerin görünümünden biraz önce "vahşi doğada serbest bırakıldı". Sürüm, MongoDB 4.0'ın gelecek sürümünde daha yeni özellikleri desteklemek ve diğer bazı API değişikliklerini yapmak için devam eden çalışmaların bir parçasıdır.
Geçerli uyarıyı tetikleyen bu tür bir değişiklik useNewUrlParser
, bağlantı URI'sinin iletilmesinin gerçekte nasıl çalıştığına dair bazı değişiklikler nedeniyle seçenektir. Daha sonra.
Şeyler "yerleşene" kadar, muhtemelen en azından sürümler için en azından küçük sürüme "sabitlemek" tavsiye edilir3.0.x
:
"dependencies": {
"mongodb": "~3.0.8"
}
Bu, 3.1.x
dalın düğüm modüllerine "yeni" kurulumlara yüklenmesini durdurmalıdır . Zaten "beta" sürümü olan bir "en son" sürümü yüklediyseniz, paketlerinizi (ve package-lock.json
) temizlemeli ve bunu bir3.0.x
seri sürümüne .
Aslında "yeni" bağlantı URI seçeneklerini kullanmaya gelince, ana kısıtlama aslında port
bağlantı dizesine dahil etmektir :
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)
}
})()
Bu yeni kodda daha "katı" bir kural. Ana nokta, şu anki kodun esas olarak "düğüm-yerli-sürücü" (npm mongodb
) veri havuzunun bir parçası olması ve "yeni kod" un aslındamongodb-core
"genel" düğüm sürücüsünü "destekleyen" kütüphaneden .
Eklenen "seçenek" noktası yeni koda seçenek ekleyerek geçişi kolaylaştırmaktır, böylece daha yeni ayrıştırıcı (aslında url
) seçeneği ekleyerek ve kullanımdan kaldırma uyarısını temizleyerek kodda kullanılır. iletilen bağlantı dizeleriniz aslında yeni ayrıştırıcının beklediğile uyumludur.
Gelecek sürümlerde 'eski' ayrıştırıcı kaldırılacak ve daha sonra yeni ayrıştırıcı, seçenek olmadan bile kullanılan şey olacaktır. Ancak o zamana kadar, mevcut tüm kodların, mevcut bağlantı dizelerini yeni ayrıştırıcının beklediği şeylere karşı test etme fırsatı bulması bekleniyor.
Dolayısıyla, yeni sürücü özelliklerini piyasaya sürüldükçe kullanmaya başlamak istiyorsanız, mevcut beta
ve sonraki sürümleri kullanın ve ideal olarak useNewUrlParser
seçeneği etkinleştirerek yeni ayrıştırıcı için geçerli bir bağlantı dizesi sağladığınızdan emin olun .MongoClient.connect()
.
MongoDB 4.0 sürümünün önizlemesiyle ilgili özelliklere gerçekten ihtiyacınız yoksa, sürümü 3.0.x
daha önce belirtildiği gibi bir seriye sabitleyin . Bu, belgelenmiş ve "sabitleme" olarak çalışacaktır. Bu, 3.1.x
kararlı bir sürüm yüklemek isteyene kadar sürümlerin beklenen bağımlılık üzerinde "güncellenmemesini" sağlar.
beta
hafta sonu npm'de bir şekilde piyasaya sürülen versiyondan geliyor . API gerçekten sonlandırılana kadar endişelenmeyin. Kararlı bir sürüm kurarken doğru şeyi yaptınız.