Создание базы данных и коллекции программно для БД Azure Cosmos с помощью драйвера Mongo DB .NET

Я использую драйвер.NET MongoDb и эмулятор Azure Cosmos DB. Я пытаюсь создать базу данных и коллекцию при запуске проекта Web Api с ядром dotnet.

Я запускаю следующий код в ConfigureServices функция в Startup.cs,

var connectionString = databaseConfig.GetValue<string>("connectionString");
var databaseName = databaseConfig.GetValue<string>("name");

var client = new MongoClient(connectionString);
var db = client.GetDatabase(databaseName);            
var collection = db.GetCollection("users");

Это не создание базы данных или коллекции. Я просматриваю это в проводнике данных эмулятора и клиенте Robo3T.

У меня сложилось впечатление, что client.GetDatabase(databaseName) а также db.GetCollection<User>("users") создаст, если база данных и коллекция не существуют соответственно.

Я могу получить его для создания базы данных и коллекции со следующим db.CreateCollection("users"), Это потребует, чтобы я проверил, существует ли коллекция вначале и не соответствует ли она подходу.

У кого-нибудь есть понимание этого поведения?

Благодарю.

1 ответ

Если вы вставите документ, коллекция будет создана, не спрашивайте почему!

Другие вопросы по тегам