Node.js 如何将mongoDB与节点一起使用
当我运行脚本时,返回错误 类型错误:db.collection不是一个函数Node.js 如何将mongoDB与节点一起使用,node.js,mongodb,aggregation,mlab,Node.js,Mongodb,Aggregation,Mlab,当我运行脚本时,返回错误 类型错误:db.collection不是一个函数 嗨,你能帮帮我吗?我哪里做错了。谢谢 对于Mongo驱动程序3.0或更高版本,连接回调返回err和client,而不是db。要从客户端获取db,请执行以下操作: var db = client.db; 在你的情况下,它看起来像这样 MongoClient.connect(url, function(err, client) { if(err) { console.log(err); } else {
嗨,你能帮帮我吗?我哪里做错了。谢谢 对于Mongo驱动程序3.0或更高版本,连接回调返回
err
和client
,而不是db
。要从客户端获取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(...)
}
})
使用最近更新中发布的
MongoClient.connect(url、函数(err、client))
。有关更多信息,请参阅
首先,您应该检查数据库是否连接,或者是否仅运行此代码,以便确认变量url是否正确,或者mongodb是否正确安装
MongoClient.connect(url, function (err, db) {
if (err)
{
console.log("Failed connecting to the database. " + err);
}
else
{
console.log(Sucessfully)
}
});
我相信您正在为Node.js使用Mongo驱动程序3.0(或更高版本)的可能重复?在这种情况下,您不应该得到一个db,而应该得到一个作为回调的客户端。@NileshSingh是的,我有一个mongoVersion 3.6.1,请告诉我如何在about脚本中获得“db”
var MongoClient = require('mongodb').MongoClient;
// Dont use database name in link
var url = "mongodb://abc:12345**@xxxx.mlab.com:&&&&";
MongoClient.connect(url, function(err, client) {
if (err) {
console.log(err);
} else {
let db = client.db('myDB')
console.log("Database created!");
db.collection('users').aggregate([{
'$match': {
'organization.organizationId': "e1716c62-fdce-11e7-8be5-0e d5f89f718b "
}
}, {
"$project": {
"deviceDetails": 1,
"userDetails": 1
}
}], function(error, documents) {
if (error) {
console(error);
} else {
console.log(documents);
}
});
}
});
MongoClient.connect(url, function (err, db) {
if (err)
{
console.log("Failed connecting to the database. " + err);
}
else
{
console.log(Sucessfully)
}
});