我在root
数据库中有一个用户admin
,并且还启用了身份验证。
以admin
用户身份在root
数据库上进行身份验证后,如果我输入show users
我可以在下面的输出中看到
{
"_id" : "admin.root",
"user" : "root",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
},
{
"role" : "readWriteAnyDatabase",
"db" : "admin"
}
]
}
我还有另一个数据库my_test_db
我正尝试使用以下命令在my_test_db
中创建一个新用户
use my_test_db
db.createUser({
... user: 'tesuser',
... pwd: 'passwor123',
... roles: [{role: 'read', db: 'my_test_db'}]
... })
但是我有未经授权的错误。
如果我userAdminAnyDatabase
应该可以createUser
访问所有数据库?
或者我做错了什么?
请帮助。...
答案 0 :(得分:0)
无论您做什么,都是正确的。确认我尝试了同样的方法,并且对我来说很好用。
可能的错误:
您可能未以用户root
您正在使用哪个版本的MongoDB?
除此之外,我没有看到其他任何可能性。
如果可能的话,也请发布您的错误。