Tôi đã thử hướng dẫn W3schools trên nodeJS với MongoDB.
Khi tôi cố gắng thực hiện ví dụ này trong môi trường nodeJS và gọi hàm bằng lệnh gọi AJAX, tôi đã gặp lỗi dưới đây:
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)
Vui lòng tìm bên dưới mã thực hiện của tôi:
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();
});
});
Lưu ý rằng lỗi xảy ra bất cứ khi nào thực thi xảy ra:
db.collection("customers").findOne({}, function(err, result) {}
Ngoài ra, lưu ý (trong trường hợp có vấn đề) rằng tôi đã cài đặt gói MongoDB mới nhất cho nút JS ( npm install mongodb ) và phiên bản MongoDB là MongoDB Enterprise 3.4.4, với trình điều khiển MongoDB Node.js v3.0.0-rc0.
db.collection()...
nhật ký giao diện điều khiển để xem nếu nó ở đó, không có vấn đề gì.