eugenekgn
eugenekgn

Reputation: 1722

Mongoose connection error when using db name in connection string

When I try to connect to Mongo instance using this connection string

mongodb://root:password@localhost:27017/

everything works, however, when I try to specify the database name in the connection string

i.e mongodb://root:password@localhost:27017/storefont

I get the following error MongoDB Connection Error: MongoNetworkError: failed to connect to server [localhost:27017] on first connect [MongoError: Authentication failed.

Upvotes: 10

Views: 2896

Answers (2)

jarora
jarora

Reputation: 5762

The answer provided by Wernfield is correct. I am providing a small tweak along with an example to connect to a replica set:

When using the authSource query param, please ensure that the connection string is wrapped in single quotes OR just use --authenticationDatabase argument instead,

mongo mongodb://ip1:27017,ip2:27017,ip3:27017/my-db --authenticationDatabase admin -u myUsername -p myPassword

Upvotes: 0

Wernfried Domscheit
Wernfried Domscheit

Reputation: 59436

Specify the authentication database like this:

mongodb://root:password@localhost:27017/storefont?authSource=admin

If you specify a database then this database is also taken for authentication by default. The MongoDB documentation is not 100% clear in that topic.

See also Authentication failure while trying to save to mongodb

Upvotes: 23

Related Questions