我正在尝试使用mongodb设置应用。我显然需要
nano /etc/mongo.conf and uncomment "auth=true"
但是没有这样的设置,我甚至检查了/etc/mongod.conf并且那里没有auth = true。
所以我被告知用userAdminAnyDatabase添加用户,所以我进入了mongo shell并尝试了
db.createUser({ user: "username", pwd: "password", roles: ["userAdminAnyDatabase"] });
我得到了
Error: couldn't add user: No role named userAdminAnyDatabase@test
我想做的就是找到我的管理员conn设置或者只是完全禁用localhost auth并继续安装。
任何想法我做错了什么?
答案 0 :(得分:2)
您需要在admin
数据库中运行此语句,您当前正在针对test
数据库运行它。在Mongo shell中键入use admin
以切换到admin数据库。您还需要向用户授予readWriteAnyDatabase
角色。
db.grantRolesToUser(
"username",
[
{ role: "readAnyDatabase", db:"admin" }
]
)