2015-11-19 376 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