Создание базы данных и коллекции программно для БД 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 ответ
Если вы вставите документ, коллекция будет создана, не спрашивайте почему!