ฉันได้ลองใช้การสอน W3schools บน nodeJS กับ MongoDB แล้ว
เมื่อฉันพยายามใช้ตัวอย่างนี้ในสภาพแวดล้อม nodeJS และเรียกใช้ฟังก์ชันด้วยการเรียก AJAX ฉันได้รับข้อผิดพลาดด้านล่าง:
TypeError: db.collection is not a function
at c:\Users\user\Desktop\Web Project\WebService.JS:79:14
at args.push (c:\Users\user\node_modules\mongodb\lib\utils.js:431:72)
at c:\Users\user\node_modules\mongodb\lib\mongo_client.js:254:5
at connectCallback (c:\Users\user\node_modules\mongodb\lib\mongo_client.js:933:5)
at c:\Users\user\node_modules\mongodb\lib\mongo_client.js:794:11
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)
โปรดค้นหารหัสที่ฉันนำไปใช้ด้านล่าง:
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/mytestingdb";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
db.collection("customers").findOne({}, function(err, result) {
if (err) throw err;
console.log(result.name);
db.close();
});
});
โปรดทราบว่าข้อผิดพลาดเกิดขึ้นทุกครั้งที่การดำเนินการเข้าชม:
db.collection("customers").findOne({}, function(err, result) {}
นอกจากนี้ให้สังเกต (ในกรณีที่เป็นเรื่องสำคัญ) ที่ฉันได้ติดตั้งแพ็คเกจ MongoDB ล่าสุดสำหรับโหนด JS ( npm ติดตั้ง mongodb ) และรุ่น MongoDB คือ MongoDB Enterprise 3.4.4 พร้อมไดรเวอร์ MongoDB Node.js v3.0.0-rc0
db.collection()...
บันทึกของคอนโซลเพื่อดูว่ามันไปถึงที่นั่นหรือไม่ไม่มีปัญหา