ตามที่ระบุไว้การ3.1.0-beta4
เปิดตัวของไดรเวอร์ได้รับ "ปล่อยเข้าไปในป่า" เร็วไปหน่อยโดยลักษณะของสิ่งต่าง ๆ การเปิดตัวเป็นส่วนหนึ่งของงานที่อยู่ระหว่างดำเนินการเพื่อสนับสนุนคุณสมบัติใหม่ใน MongoDB 4.0 ที่กำลังจะเปิดตัวและทำการเปลี่ยนแปลง API อื่น ๆ
การเปลี่ยนแปลงหนึ่งอย่างที่ก่อให้เกิดการเตือนในปัจจุบันคือuseNewUrlParser
ตัวเลือกเนื่องจากมีการเปลี่ยนแปลงบางอย่างเกี่ยวกับวิธีการส่งผ่าน URI การเชื่อมต่อที่ใช้งานได้จริง เพิ่มเติมในภายหลัง
จนกว่าสิ่งต่างๆจะ "สงบลง" ก็อาจแนะนำให้ "ปักหมุด"อย่างน้อยให้เป็นรุ่นรองสำหรับการ3.0.x
เผยแพร่:
"dependencies": {
"mongodb": "~3.0.8"
}
ที่ควรหยุด3.1.x
สาขาที่ถูกติดตั้งในการติดตั้ง "สด" ไปยังโมดูลโหนด หากคุณติดตั้งรีลีส "ล่าสุด" ซึ่งเป็นเวอร์ชัน "เบต้า" อยู่แล้วคุณควรล้างแพ็คเกจ (และpackage-lock.json
) และตรวจสอบให้แน่ใจว่าคุณชนเบราว์เซอร์นั้นลงไปใน3.0.x
ซีรีย์
สำหรับการใช้ตัวเลือกการเชื่อมต่อ "ใหม่" จริง ๆ แล้วข้อ จำกัด หลักคือการรวมport
ในสตริงการเชื่อมต่อ:
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)
}
})()
นั่นเป็นกฎที่ "เข้มงวดมาก" ในรหัสใหม่ จุดหลักคือรหัสปัจจุบันเป็นส่วนหนึ่งของmongodb
รหัสพื้นที่เก็บข้อมูล"node-native-driver" (npm ) และ "รหัสใหม่" นำเข้าจริงจากmongodb-core
ห้องสมุดซึ่ง "underpins" ไดรเวอร์โหนด "สาธารณะ"
จุดของ "ตัวเลือก" ที่ถูกเพิ่มเข้ามาคือ "ความสะดวก" การเปลี่ยนแปลงโดยการเพิ่มตัวเลือกให้กับรหัสใหม่ดังนั้นตัวแยกวิเคราะห์ที่ใหม่กว่า (ตามจริง ๆurl
) จะถูกใช้ในรหัสที่เพิ่มตัวเลือกและการล้างคำเตือนการคัดค้าน สตริงการเชื่อมต่อของคุณส่งผ่านเป็นไปตามสิ่งที่ parser ใหม่คาดหวัง
ในอนาคตเผยแพร่ parser 'ดั้งเดิม' จะถูกลบแล้ว parser ใหม่ก็จะเป็นสิ่งที่ใช้แม้จะไม่มีตัวเลือก แต่ในเวลานั้นคาดว่ารหัสที่มีอยู่ทั้งหมดจะมีโอกาสมากพอที่จะทดสอบสตริงการเชื่อมต่อที่มีอยู่กับสิ่งที่ parser ใหม่คาดหวัง
ดังนั้นหากคุณต้องการที่จะเริ่มใช้คุณสมบัติของไดรเวอร์ใหม่ที่พวกเขาจะถูกปล่อยออกจากนั้นใช้ที่มีอยู่beta
การเผยแพร่และต่อมาและความนึกคิดให้แน่ใจว่าคุณจะให้สตริงการเชื่อมต่อที่ถูกต้องสำหรับตัวแยกวิเคราะห์ใหม่โดยการเปิดใช้ตัวเลือกในuseNewUrlParser
MongoClient.connect()
หากคุณไม่จำเป็นต้องเข้าถึงฟีเจอร์ที่เกี่ยวข้องกับการแสดงตัวอย่างของ MongoDB 4.0 release จากนั้นตรึงเวอร์ชันไปที่3.0.x
ซีรี่ส์ตามที่ระบุไว้ก่อนหน้า สิ่งนี้จะทำงานตามเอกสารและ "การตรึง" เพื่อให้แน่ใจว่าการ3.1.x
เผยแพร่จะไม่ "อัปเดต" มากกว่าการพึ่งพาที่คาดไว้จนกว่าคุณจะต้องการติดตั้งเวอร์ชันที่เสถียรจริง ๆ
beta
เวอร์ชั่นที่ปล่อยออกมาตอนบ่ายสองอาทิตย์ ไม่ต้องกังวลเกี่ยวกับมันจนกว่า API จะสรุปได้จริง คุณทำสิ่งที่ถูกต้องในการติดตั้งเวอร์ชันที่เสถียร