Mongo userAdminAnyDatabase无法在其他数据库中创建用户

时间:2019-03-01 18:35:25

标签: node.js mongodb mongodb-query

我在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访问所有数据库?

或者我做错了什么?

请帮助。...

1 个答案:

答案 0 :(得分:0)

无论您做什么,都是正确的。确认我尝试了同样的方法,并且对我来说很好用。

可能的错误:

  1. 您可能未以用户root

  2. 的身份登录
  3. 您正在使用哪个版本的MongoDB?

除此之外,我没有看到其他任何可能性。

  

如果可能的话,也请发布您的错误。