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.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…