Reputation: 13
Do you why i can't log in with a connetion string like this:
mongodb://root:*****@localhost:27017/Database
But, i can log in with a one like this:
mongodb://root:*****@localhost:27017/
I had an "authentication failed"
Also, i can log in like that:
mongodb://root:*****@localhost:27017/admin
I don't know where i can looking for a solution.
Thank you for your help
I've tried with a database with a name in lowercase but nothing works.
Upvotes: 0
Views: 42
Reputation: 15215
MongoDB uses admin DB for authentication and authorization purposes.
From official MongoDB document on Connection URI,
If specified, the client will attempt to authenticate the user to the
authSource
. IfauthSource
is unspecified, the client will attempt to authenticate the user to thedefaultauthdb
. And if thedefaultauthdb
is unspecified, to the admin database.
As you are providing username:password@
, you are implying the usage of defaultauthdb
.
mongodb://root:*****@localhost:27017/admin
works because you specified admin
as the defaultauthdb
mongodb://root:*****@localhost:27017/
works because defaultauthdb
is unspecified. So it is referred to the admin databasemongodb://root:*****@localhost:27017/Database
does not work because you are using database other than admin db to perform the auth.
Upvotes: 1