2015-12-14 85 views
1

我爲MongoDB數據庫myDatabase創建了一個具有readwrite角色的用戶。無法通過驗證將Mongoose連接到MongoDB

mongo -u userName -p userPassword --authenticationDatabase myDatabase 

正確連接,可以讀/寫MYDATABASE

在貓鼬嘗試使用

mongoose.connect('mongodb://localhost/myDatabase', {user:'userName', password:'userPassword'}); 

而且連接到MongoDB中:

開始的MongoDB服務器--auth,在蒙戈後殼

mongoose.connect('mongodb://localhost/myDatabase', {user:'userName', password:'userPassword', {auth: {authdb:'myDatabase'}}); 

能夠連接到MYDATABASE但讀/時得到授權錯誤寫

MongoError: not authorized for query on myDatabase.myCollection

我該如何解決這個問題?

+0

你通過mongo Shell連接了哪些authenticationDatabase? –

回答

3

我會建議嘗試以下方法:

1)與您正在使用哪個版本的貓鼬字符串URI格式https://docs.mongodb.org/manual/reference/connection-string/

2)連接?根據文檔http://mongoosejs.com/docs/connections.html,您應該提供「通過」屬性,但您將其作爲「密碼」傳遞。

+0

我切換到更新版本的Mongoose,並將屬性更改爲傳遞而不是密碼,現在按預期工作。感謝您的建議! – tramore925

+0

我很高興我能夠幫助! –