mongodb密碼特殊字元的解決方法

邵天宇Soy發表於2019-01-07

一般是這麼連線的:

mongoose.connect("mongodb://username:password@127.X.X.X:27017/db");

但是,如果你的密碼裡面設定了特殊字元,比如‘@’,‘%’,可能使得 mongodb 連線不能被正常解析,字元轉義也沒什麼效果,從而導致連線失敗。

有2個方法可以規避這個問題:

1.更換連線格式

mongoose.connect(
	"mongodb://username:password@127.X.X.X:27017/db",
	{user: 'username', pass: 'password'}
);
複製程式碼

2.開啟 uri_decode_auth 功能

uri_decode_auth 在 driver 內部 decode連線串

mongoose.connect(
	"mongodb://username:password@127.X.X.X:27017/db", 
	{
  		uri_decode_auth: true
  	},
  	 function(err, db) {}
);
複製程式碼

相關文章