Начало работы с Azure Cosmos DB для MongoDB с помощью .NET
Область применения:
MongoDB
В этой статье показано, как подключиться к Azure Cosmos DB для MongoDB с помощью .NET Core и соответствующих пакетов NuGet. После подключения можно выполнять операции с базами данных, коллекциями и документами.
Примечание.
Примеры фрагментов кода доступны на GitHub в виде проекта .NET Core.
Справочная документация | по API для MongoDB Package (NuGet)
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- .NET 6.0
- Интерфейс командной строки (CLI) Azure или Azure PowerShell
- Ресурс Azure Cosmos DB для MongoDB
Создание нового приложения .NET Core
Создайте приложение .NET Core в пустой папке с помощью предпочтительного терминала. В этом сценарии вы будете использовать консольное приложение. Используйте команду
dotnet new
, чтобы создать консольное приложение и присвоить ему имя.dotnet new console -o app
Добавьте пакет NuGet MongoDB в проект консоли. Используйте команду
dotnet add package
, указывающую имя пакета NuGet.dotnet add package MongoDB.Driver
Чтобы запустить приложение, перейдите в каталог приложения и запустите его с помощью терминала.
dotnet run
Подключение к Azure Cosmos DB для MongoDB с помощью собственного драйвера MongoDB
Чтобы подключиться к Azure Cosmos DB с помощью собственного драйвера MongoDB, создайте экземпляр класса MongoClient
. Этот класс является начальной точкой для выполнения всех операций с базами данных MongoDB. Наиболее распространенный конструктор mongoClient принимает строку подключения, которую можно получить, выполнив следующие действия:
Получение имени ресурса
Создайте переменную оболочки для resourceGroupName.
# Variable for resource group name resourceGroupName="msdocs-cosmos"
Используйте команду
az cosmosdb list
, чтобы получить имя первой учетной записи Azure Cosmos DB в группе ресурсов и сохранить его в переменной оболочки accountName.# Retrieve most recently created account name accountName=$( az cosmosdb list \ --resource-group $resourceGroupName \ --query "[0].name" \ --output tsv )
Получить строку подключения
Найдите API для MongoDB строка подключения из списка строка подключения для учетной записи с
az cosmosdb keys list
помощью команды.az cosmosdb keys list --type connection-strings \ --resource-group $resourceGroupName \ --name $accountName
Скопируйте значения PRIMARY KEY (первичный ключ). Эти учетные данные понадобятся позже.
Настройка переменных среды
Чтобы использовать значения CONNECTION STRING в коде, задайте это значение в локальной среде, в которой запущено приложение. Чтобы задать переменную среды, используйте предпочтительный терминал для выполнения следующих команд:
$env:COSMOS_CONNECTION_STRING = "<cosmos-connection-string>"
Создание MongoClient с помощью строки подключения
Определите новый экземпляр класса MongoClient
с помощью конструктора и переменной строки подключения, которую вы настроили ранее.
// New instance of CosmosClient class
var client = new MongoClient(Environment.GetEnvironmentVariable("COSMOS_CONNECTION_STRING"));
var settings = client.Settings;
Console.WriteLine(settings.Server.Host);
Использование клиентских классов MongoDB с Azure Cosmos DB для API для MongoDB
Прежде чем приступить к созданию приложения, рассмотрим иерархию ресурсов в Azure Cosmos DB. У Azure Cosmos DB есть объектная модель, используемая для создания ресурсов и доступа к ним. Azure Cosmos DB создает ресурсы в иерархии, состоящей из учетных записей, баз данных, коллекций и документов.
Иерархическая схема с учетной записью Azure Cosmos DB для MongoDB в верхней части. У учетной записи есть два дочерних узла базы данных. Один из узлов базы данных содержит два дочерних узла коллекции. Другой узел базы данных содержит один дочерний узел коллекции. Этот один узел коллекции содержит три дочерних узла документа.
Каждый тип ресурса представлен одним или несколькими связанными классами C#. Ниже приведен список наиболее распространенных классов.
Класс | Description |
---|---|
MongoClient |
Этот класс предоставляет логическое представление на стороне клиента для уровня API для MongoDB в Azure Cosmos DB. Этот клиентский объект позволяет настраивать и выполнять запросы к службе. |
MongoDatabase |
Этот класс является ссылкой на базу данных, которая может еще не существовать в службе. База данных проверяется или создается на стороне сервера при попытке выполнении операции с ней. |
Collection |
Этот класс является ссылкой на коллекцию, которая может еще не существовать в службе. Коллекция проверяется на стороне сервера при попытке работы с ней. |
Сведения об использовании каждого из этих классов для создания приложения и управления данными приведены в следующих руководствах.
Руководство:
- Управление базами данных
- Управление коллекциями
- Управление документами
- Поиск документов с помощью запросов
См. также
Следующие шаги
Теперь, когда вы подключились к учетной записи API для MongoDB, используйте следующее руководство для создания баз данных и управления ими.