![](/img/trans.png)
[英]Authentication error when connecting to Heroku PostgreSQL database
[英]Authentication error when connecting to specific mongodb database
我目前正在使用帶有 mongodb 本機驅動程序的 nodejs。 所以我的 mongodb 已經設置了具有 root 角色的管理員身份驗證,所以我可以使用 robomongo 或命令行登錄就好了。 所以回到我的項目,如果我設置我的連接字符串,我可以連接到 mongodb 就好了:
mongodb://admin:password@localhost:27017/
但是,如果我使用這個連接字符串:
mongodb://admin:password@localhost:27017/specificdb
它返回為:
MongoError:身份驗證失敗
我可以使用命令和 robomongo 訪問數據庫,有什么可以做的嗎? 我已經在數據庫下添加了管理員用戶,但仍然遇到同樣的問題。
您指定的數據庫是您進行身份驗證的數據庫。 如果該用戶未知/對該數據庫沒有任何角色,則無法對其進行身份驗證。
https://docs.mongodb.com/manual/reference/connection-string/
您可以為該數據庫創建(或新)用戶,或者使用身份驗證數據庫參數。
這對我有用:
關於連接的第一個解決方案:
mongoose.connect('mongodb://....', {
// add this line
authSource:"admin",
....
})
或第二個解決方案添加到 uri "?authSource=admin":
mongodb://user:password@host/yourDB?authSource=admin
** 請注意,我使用的是 mongoose,這是文檔特定聲明和 url:
authSource - 與用戶進行身份驗證時使用的數據庫並通過。 在 MongoDB 中,用戶的范圍僅限於數據庫。 如果您遇到意外的登錄失敗,您可能需要設置此選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.