Mongodb 错误:无法';t添加用户:未指定角色root@test

Mongodb 错误:无法';t添加用户:未指定角色root@test,mongodb,mongodb-query,createuser,Mongodb,Mongodb Query,Createuser,我正在尝试为我的mongo数据库创建用户 使用MongoDB查询:db.createUser({user:'administrator',pwd:'1234567890',角色:['root']}) mongod.config /etc/mongod.config中没有文件请尝试以下操作: db.createUser({ user:"userName", pwd:"passWord", roles:[ { role:"readW

我正在尝试为我的mongo数据库创建用户

使用MongoDB查询:db.createUser({user:'administrator',pwd:'1234567890',角色:['root']})

mongod.config

/etc/mongod.config中没有文件

请尝试以下操作:

db.createUser({ user:"userName", 
                pwd:"passWord", 
                roles:[ { role:"readWrite", 
                          db:"dataBaseName" 
                        } ], 
                mechanisms:[ "SCRAM-SHA-1"] 
              })

了解有关
机制的更多信息:[“紧急停堆-SHA-1”]
在我也有同样的问题。您必须切换到mongo服务器上实际具有角色
root
的数据库,因为这意味着在打开MongoDB shell时选择的数据库
test
,没有角色
root
。只需尝试
使用admin
切换到admin数据库,然后尝试
db.createUser({user:“mongoadmin”,pwd:“mongoadmin”,roles:[“root”]})
,就像你在问题中所说的那样。这就解决了我的问题。

“机制”对于createUserIt来说不是有效的参数。请仔细阅读本文:
https://docs.mongodb.com/manual/core/security-scram/
您可以通过启动mongo shell并键入
show roles
来了解更多信息。列出当前选定数据库实例上可用的所有角色。
db.createUser({ user:"userName", 
                pwd:"passWord", 
                roles:[ { role:"readWrite", 
                          db:"dataBaseName" 
                        } ], 
                mechanisms:[ "SCRAM-SHA-1"] 
              })