Обновление:
MongoServer.Create
устарел (спасибо @ aknuds1). Вместо этого используйте следующий код:
var _server = new MongoClient(connectionString).GetServer();
Это легко. Сначала вы должны взять имя базы данных из строки подключения, а затем получить базу данных по имени. Полный пример:
var connectionString = "mongodb://localhost:27020/mydb";
//take database name from connection string
var _databaseName = MongoUrl.Create(connectionString).DatabaseName;
var _server = MongoServer.Create(connectionString);
//and then get database by database name:
_server.GetDatabase(_databaseName);
Важно : Если ваша база данных и база данных auth различаются, вы можете добавить параметр запроса authSource =, чтобы указать другую базу данных auth. (спасибо @ chrisdrobison )
Из документов:
ПРИМЕЧАНИЕ. Если вы используете сегмент базы данных в качестве начальной
использовать, но указанные имя пользователя и пароль определены в
другой базы данных, вы можете использовать опцию authSource, чтобы указать
база данных, в которой определены учетные данные. Например,
mongodb: // user: pass @ hostname / db1? authSource = userDb выполнит аутентификацию
учетные данные для базы данных userDb вместо db1.