MongoDB密码特殊字符的解决方法
mongodb密码特殊字符的解决方法
一般情况是这样连接的:
mongoClient.connect("mongodb://username:password@127.X.X.X:27017/db",{ useNewUrlParser: true ,useUnifiedTopology: true}) |
但是,如果你的密码里面设置了特殊字符,比如‘@’,‘%’,可能使得 mongodb 连接不能被正常解析,字符转义也没什么效果,从而导致连接失败.
解决方法如下:
更换连接格式
mongoose.connect(
"mongodb://username:password@127.X.X.X:27017/db",
{user: 'username', pass: 'password',useNewUrlParser: true ,useUnifiedTopology: true}
);开启 uri_decode_auth 功能,uri_decode_auth 在 driver 内部 decode连接串
mongoose.connect(
"mongodb://username:password@127.X.X.X:27017/db",
{
uri_decode_auth: true,
useNewUrlParser: true,
useUnifiedTopology: true
},
function(err, db) {}
);
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Anthony's Blog!
评论