mongodb authentication with connection string

c#, mongodb

Solution

With the C# driver you typically would not use the option of putting a database name on the connection string. It is partially supported to provide some level of compatibility with other drivers.

MongoServer.Create ignores the database name. Any credentials (username/password) on the connection string are used as default credentials for all databases.

The database name is only used by MongoDatabase.Create, which calls MongoServer.Create and then just calls GetDatabase for you.

So:

var connectionString = "mongodb://localhost/database";
var database = MongoDatabase.Create(connectionString);

is just a shortcut for:

var connectionString = "mongodb://localhost";
var server = MongoServer.Create(connectionString);
var database = server.GetDatabase("database");

No authentication actually happens until you first try to use a database.

Problem

The connection string for Mongo process has /database option . What does it mean? Does it mean it authenticates the particular database on mongo server.Thanks in advance

Original source