当我使用mongo从shell连接到mongodb时,我需要使用以下内容
mongo -u xxxx -p xxxx --authenticationDatabase admin
然后我获得完全访问权限...但是从 nodejs 连接时我无法找到指定authenticationDatabase的方法这是我的代码
var MongoCli = require('mongodb').MongoClient;
var url = "mongodb://127.0.0.1:27017/contactapp";
MongoCli.connect(url,function(err,db){
if(err)
{
console.log('Unable to connect');
}
else
{
console.log('Connected at ',url);
db.authenticate('username','password','--authenticationDatabase admin',function(err,res){
if(err)
{
console.log('Error');
}
else
{
console.log('Auth Success');
var collection = db.collection('contact');
collection.find().toArray(function(err,res){
if(err)
{
console.log(err);
}
else if(res.length)
{
console.log('Found ',res);
}
else
{
console.log('No data found');
}
db.close();
});
}
});
}
});
我需要事先使用authenticationDatabase
感谢
答案 0 :(得分:5)
尝试改变这一点:
db.authenticate('username','password','--authenticationDatabase admin',function(err,res){
惠特:
db.admin().authenticate('username', 'password', function(err,res){