当我尝试连接时,当我使用数据库时,失败 的 eventsstore
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){})
})
注意:此外,数据库 eventsstore 由管理员登录
创建当我使用数据库 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"
}
]
答案 0 :(得分:3)
您需要提供身份验证db
var opts = {db:{authSource:'admin'}}
mongo.connect('mongodb:// tom:pass @ localhost:27017 / admin',opts,function(err,db){
}