我在测试和开发数据库
上创建了一个具有dbowner角色的用户[admin] >show users
{
"_id" : "admin.apiuser",
"user" : "apiuser",
"db" : "admin",
"roles" : [
{
"role" : "dbOwner",
"db" : "rest-api-test"
},
{
"role" : "dbOwner",
"db" : "rest-api-development"
}
]
}
验证后
$ mongo -u apiuser -p my password --port 7272 --authenticationDatabase admin
我无法在测试数据库中列出用户
[test] user: apiuser>show users
2017-02-22T19:03:05.744+0100 E QUERY [thread1] Error: not authorized
on test to execute command { usersInfo: 1.0 } :
既不在开发db
上[test] user: apiuser>use development
switched to db development
[development] user: apiuser>show users
2017-02-22T19:04:08.983+0100 E QUERY [thread1] Error: not authorized
on development to execute command { usersInfo: 1.0 } :
Mongodb doc表明dbowner角色提供了对数据库执行任何管理操作的功能。它结合了readwrite,dbAdmin和userAdmin角色
授予的权限显示用户不是userAdmin授予的权限?不太清楚...... 有人可以开导我吗?我应该如何创建' apiuser'用户和角色对测试和开发数据库执行任何操作,尤其是CRUD用户和角色... 感谢
答案 0 :(得分:0)
发现我的错误......
我正在使用开发db,我应该使用rest-api-development!太糟糕了