繁体   English   中英

由于mongo中的用户名/密码设置,Nodejs mongoClient.connect失败

[英]Nodejs mongoClient.connect fails due to username/password setup in mongo

当我尝试连接这样的时候,当我使用数据库作为eventsstore时,它会失败

mongoClient.connect

MongoClient.connect('mongodb://tom:pass@localhost:27017/eventsstore',function(err,db){ if(err){ console.log('NOT CONNECTED') } console.log('CONNECTED') var collection = db.collection('events').insert({mydata:123}, function(err, res){}) })

注意 :数据库事件存储也是由admin登录创建的

当我使用数据库作为管理员时,它成功通过/连接

MongoClient.connect('mongodb://tom:pass@localhost:27017/admin',function(err,db){ if(err){ console.log('NOT CONNECTED') } console.log('CONNECTED') var collection = db.collection('events').insert({mydata:123}, function(err, res){}) })

这是我的mongo用户tom SUPERUSER权限在mongo中的样子

db.getUser('tom')

[ { "role" : "readWrite", "db" : "admin" }, { "role" : "userAdmin", "db" : "admin" }, { "role" : "dbOwner", "db" : "admin" }, { "role" : "dbAdminAnyDatabase", "db" : "admin" }, { "role" : "userAdminAnyDatabase", "db" : "admin" }, { "role" : "clusterAdmin", "db" : "admin" }, { "role" : "readWriteAnyDatabase", "db" : "admin" } ]

您需要提供身份验证db

var opts = {db:{authSource:'admin'}}

mongo.connect('mongodb:// tom:pass @ localhost:27017 / admin',opts,function(err,db){

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM