2016-08-02 117 views
5

我設置一個本地解析服務器,它工作完全正常除非我能夠在MongoDB的身份驗證和更改連接字符串mongodb://username:[email protected]:27017/dbname,解析控制檯拋出以下錯誤:解析,服務器mongoerror驗證失敗

unable to ensure uniqueness for usernames mongoerror authentication failed

客戶端即RoboMongo也能正常工作,並具有身份驗證功能。我甚至嘗試將userAdminAnyDatabasedbAdminAnyDatabase角色分配給它的用戶,以確保它不是權限問題。

更新: 我正在使用MongoDB 3.2,所以我試圖降級到MongoDB 3.0.12,仍然是同樣的問題。

更新2: 我甚至嘗試過root作用,它具有最高特權,即超級用戶,但仍然沒有運氣。

+0

你成功地將數據庫從您的命令行接口連接? –

+0

是的,無論是從命令行還是Robomongo –

+0

而你把正確的名稱和密碼?因爲它看起來沒有找到用戶 –

回答

4

您是否爲特定數據庫創建了用戶?如果您嘗試使用mongo管理員帳戶進行連接,您可以體驗到這一點。

創建這樣一個用戶:

use dbName 
db.createUser({ user: "userName", pwd: "password", roles: [ "readWrite", "dbAdmin" ] }) 

,並用它來連接到數據庫 - 那麼它應該工作

+0

創建一個新用戶爲我解決了它 - 但是我在mlab網站的數據庫用戶選項卡上創建了它。 –

+0

你能將我的建議標記爲答案嗎?如果它幫助你當然:) – Simon

相關問題