从nodejs连接到mongodb时使用authenticationDatabase选项

时间:2015-10-24 16:06:02

标签: node.js mongodb

当我使用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感谢

1 个答案:

答案 0 :(得分:5)

尝试改变这一点:

db.authenticate('username','password','--authenticationDatabase admin',function(err,res){

惠特:

db.admin().authenticate('username', 'password', function(err,res){