Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

mongodb authentication with connection string

Tags:

c#

mongodb

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

like image 504
Himani Talesara Avatar asked Oct 31 '25 17:10

Himani Talesara


2 Answers

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.

like image 156
Robert Stam Avatar answered Nov 02 '25 09:11

Robert Stam


Like this:

var cliente = new MongoClient("mongodb://usuariocualquiera:tuclave@localhost:27017/BASEDEDATOS");

and could be call

var collection = database.GetCollection<BsonDocument>("CUALQUIERCOLECCION");
like image 40
JAGJ jdfoxito Avatar answered Nov 02 '25 07:11

JAGJ jdfoxito