41

i am trying to connect to my mongo database with following connection string

var Mongo_url = 'mongodb://MyUSer:tech@localhost:27017/chatme?authSource=admin';  

I am getting error as

 assertionError: null == { [MongoError: Authentication failed.]
 name: 'MongoError',
 message: 'Authentication failed.',
 ok: 0,
 code: 18,

Could anyone please clear this "authSource=admin" thing to me.

2 Answers 2

46

This is the name of the database that has the collection with the user credentials.

https://docs.mongodb.com/manual/reference/connection-string/#connections-connection-options

This is where the usernames and passwords are set up.

Sign up to request clarification or add additional context in comments.

4 Comments

i have my users in system.users collection. So according to you 'authSource=admin' should be replace with authSource=users. right??
No, it's the name of the database, not the collection. And it defaults to the database you are trying to connect to. Does it work without the parameter?
yes it works without parameter too. I got it now. Thanks
Is --authSource=appDB and --authenticationDatabase=appDB the same?
8

I spent a few hours today trying to solve this problem and unfortunately, this SO post didn't appear in my searches. That was too bad because it's the post with the best answer to the problem.

I hope to help the next person by adding the error message I got.

I'm setting up the connection inside a Docker container that is spun up via a docker-compose yaml file. The user name and password are passed into docker-compose from a .env file.

Connection URI that works

mongodb://aUser:aPassword@mevn-app-mongo:27017/myDb?authSource=admin

Error:

SASL SCRAM-SHA-1 authentication failed for aUser on myDb from client 172.25.0.3:37352 ; UserNotFound: Could not find user aUser@myDb

2 Comments

I got this error when I was using NON-URL-ENCODED Connection SRV String
In my case, I was trying to login to a specific database as "root", but authentication was failing. Adding "authSource=admin" to the end of the connection string fixed it, thanks!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.