MongoDB connection issue: failed Error: Password contains an illegal unescaped character


I am getting the following exception while connecting to MongoDB using NodeJS driver

2019-07-11T12:19:57.034741+00:00 app[web.1]: appDb failed Error: Password contains an illegal unescaped character
2019-07-11T12:19:57.034744+00:00 app[web.1]:     at parseConnectionString (/app/node_modules/mongodb/lib/url_parser.js:297:13)
2019-07-11T12:19:57.034746+00:00 app[web.1]:     at parseHandler (/app/node_modules/mongodb/lib/url_parser.js:129:14)
2019-07-11T12:19:57.034749+00:00 app[web.1]:     at module.exports (/app/node_modules/mongodb/lib/url_parser.js:25:12)
2019-07-11T12:19:57.034751+00:00 app[web.1]:     at connect (/app/node_modules/mongodb/lib/mongo_client.js:880:3)
2019-07-11T12:19:57.034753+00:00 app[web.1]:     at connectOp (/app/node_modules/mongodb/lib/mongo_client.js:269:3)
2019-07-11T12:19:57.034755+00:00 app[web.1]:     at executeOperation (/app/node_modules/mongodb/lib/utils.js:420:24)
2019-07-11T12:19:57.034756+00:00 app[web.1]:     at MongoClient.connect (/app/node_modules/mongodb/lib/mongo_client.js:260:10)
2019-07-11T12:19:57.034758+00:00 app[web.1]:     at Function.MongoClient.connect (/app/node_modules/mongodb/lib/mongo_client.js:482:22)
2019-07-11T12:19:57.034760+00:00 app[web.1]:     at Object.<anonymous> (/app/appDb.js:32:13)
2019-07-11T12:19:57.034761+00:00 app[web.1]:     at Module._compile (internal/modules/cjs/loader.js:776:30)

1 Answer

5 years ago by

User useNewUrlParser option to specify your password contains special characters.

let uri = 'mongodb://<db_user_name>:<password_with_special_characters>@<host>:27017/<db_name>';

MongoClient.connect(uri, { useNewUrlParser: true }, (err, db) => {
   // handle db
});
5 years ago by Eleven