当我运行脚本时,错误返回。
TypeError: db.collection is not a function
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://abc:12345**@xxxx.mlab.com:&&&&/myDB";
MongoClient.connect(url, function(err, db) {
if(err) {
console.log(err);
} else {
console.log("Database created!");
db.collection('users').aggregate([{
'$match': {
'organization.organizationId': "e1716c62-fdce-11e7-8be5-
0ed5f89f718b"
}
},{
"$project": {
"deviceDetails": 1,
"userDetails": 1
}
}], function(error, documents) {
if (error) {
console(error);
} else {
console.log(documents);
}
});
});
嗨,你能帮我看看我哪里做错了吗。谢谢!
最佳答案
对于 Mongo 驱动程序 3.0 或更高版本,连接回调返回 err
和 client
而不是 db
。要从客户端中获取数据库,请执行此操作,
var db = client.db;
在你的情况下,它看起来像这样,
MongoClient.connect(url, function(err, client) {
if(err) {
console.log(err);
} else {
var db = client.db;
console.log("Database created!");
db.collection('users').aggregate(...)
}
})
关于node.js - 如何将 mongoDB 与 Node 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48355300/