mongoose 通過賬號密碼連線 Error: Password contains an illegal unescaped character
阿新 • • 發佈:2018-11-02
mongoose 遠端連線,我的密碼有亂七八糟的字元,報錯Error: Password contains an illegal unescaped character
報錯的
mongodb: 'mongodb://c666:buyaokan###@ccav.com:27017/zh_db',
改成下面,就好啦
mongodb: 'mongodb://' + encodeURIComponent('c666:buyaokan###') + '@ccav.com:27017/zh_db',
不要嘗試破解額。
上面的方法可以不報錯,但是實際用的時候,發現會報錯
name: 'MongoError', message: 'Authentication failed.', ok: 0, errmsg: 'Authentication failed.', code: 18, codeName: 'AuthenticationFailed' }
下面才是解決之道 user 要使用建立的admin賬號使用者名稱
mongoose.connect(mongoDbUri, {
auth: { "authSource": "admin" },
user: "c666",
pass: "c666:buyaokan###",
poolSize: 10
})
特別注意 auth: { "authSource": "admin" }
中的authSource
新增你對應建立的資料庫。