Solving this problem works fine:
Instead of this:
$ mongo my_db_name -u superuser -p 1234
I do
$ mongo admin -u superuser -p 1234
> use anotherDb
in the shell.
What is the solution in NodeJS?
I tried to connect to mongodb://superuser:1234@localhost:27017/my_db_name, but I get this error:
{ [MongoError: auth fails] name: 'MongoError', code: 18, ok: 0, errmsg: 'auth fails' }
My code is:
var Db = require('mongodb').Db,
MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://superuser:1234@localhost:27017/my_db_name",
function(err, db) {
if (err) { return console.log(err); }
console.log("Successfully connected.");
}
);
Please note that the superuser is an omnipotent user who can write and read rights in any database.
If I do MongoClient.connect("mongodb://superuser:1234@localhost:27017/admin(replaced my_db_nameby admin), it connects successfully. Why?
How to connect to my_db_namewith superuserand password ( 1234)?
source
share