2015-11-19 380 views
0

我试图用mongodb设置应用程序。我显然需要MongoError:身份验证失败

nano /etc/mongo.conf and uncomment "auth=true" 

但是没有这样的设置,我甚至查/etc/mongod.conf并没有权威性=在那里真。

所以我被告知要与userAdminAnyDatabase添加用户,所以我去到蒙戈外壳,并试图

db.createUser({ user: "username", pwd: "password", roles: ["userAdminAnyDatabase"] }); 

,我得到

Error: couldn't add user: No role named [email protected] 

所有我想要做的就是要么找到我的联系conn设置或完全禁用localhost auth并继续安装。

任何想法我做错了什么?

回答

2

您需要在admin数据库中运行此语句,您当前正在对test数据库运行该语句。在Mongo shell中输入use admin切换到管理数据库。您还需要授予您的用户readWriteAnyDatabase角色。

db.grantRolesToUser(
"username", 
[ 
    { role: "readAnyDatabase", db:"admin" } 
] 
) 
+0

看来我已经在早些时候在管理数据库中运行了语句,但是您的答案是正确的,因为我试图进行测试。但是,当我尝试连接时,我得到:错误:NodeBB无法连接到您的Mongo数据库。 Mongo返回了以下错误:身份验证失败。这与我给予的相同凭证也一样。 – ServerSideSkittles

+0

您还需要授予用户'readWriteAnyDatabase' – Jaco

+0

谢谢,我如何在查询中授予readWriteAnyDatabase角色? – ServerSideSkittles