Начало работы с Azure Cosmos DB для MongoDB с помощью JavaScript
Область применения: MongoDB
В этой статье показано, как подключиться к Azure Cosmos DB для MongoDB с помощью собственного пакета npm MongoDB. После подключения можно выполнять операции с базами данных, коллекциями и документами.
Примечание.
Примеры фрагментов кода доступны на GitHub в виде проекта JavaScript.
Справочная документация | по API для MongoDB Package (npm)
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- LTS Node.js
- Интерфейс командной строки (CLI) Azure или Azure PowerShell
- Ресурс Azure Cosmos DB для MongoDB
Создание приложения JavaScript
Создайте приложение JavaScript в пустой папке с помощью предпочтительного терминала. Используйте команду
npm init
, чтобы приступить к созданию файлаpackage.json
. Примите значения по умолчанию для подсказок.npm init
Добавьте пакет npm для MongoDB в проект JavaScript. Используйте команду
npm install package
, указывающую имя пакета npm. Пакетdotenv
используется для считывания переменных среды из файла.env
во время локальной разработки.npm install mongodb dotenv
Чтобы запустить приложение, перейдите в каталог приложения и запустите его с помощью терминала.
node index.js
Подключение с помощью собственного драйвера MongoDB к Azure Cosmos DB для MongoDB
Чтобы подключиться с помощью собственного драйвера MongoDB к Azure Cosmos DB, создайте экземпляр класса MongoClient
. Этот класс является начальной точкой для выполнения всех операций с базами данных.
У наиболее распространенного конструктора для MongoClient два параметра:
Параметр | Пример значения | Description |
---|---|---|
url |
Переменная среды COSMOS_CONNECTION_STRING . |
API для MongoDB строка подключения использовать для всех запросов |
options |
{ssl: true, tls: true, } |
Параметры MongoDB для подключения. |
Сведения о проблемах подключения см. в руководстве по устранению неполадок.
Получение имени ресурса
Создайте переменную оболочки для 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 с помощью строки подключения
Добавьте зависимости для ссылки на пакеты npm для MongoDB и dotenv.
// Read .env file and set environment variables require('dotenv').config(); // Use official mongodb driver to connect to the server const { MongoClient } = require('mongodb');
Определите новый экземпляр класса
MongoClient
с помощью конструктора иprocess.env.
, чтобы использовать строку подключения.// New instance of MongoClient with connection string // for Cosmos DB const url = process.env.COSMOS_CONNECTION_STRING; const client = new MongoClient(url); // connect to the server await client.connect(); // client options const options = client.options console.log(`Options:\n${Object.keys(options).map(key => `\t${key}: ${options[key]}\n`)}`);
Дополнительные сведения о различных способах создания экземпляра MongoClient
см. в на странице по драйверу NodeJS для MongoDB.
Закрытие подключения MongoClient
Когда приложение завершится с подключением, не забудьте закрыть его. Вызов .close()
должен выполняться после выполнения всех вызовов базы данных.
client.close()
Использование клиентских классов MongoDB с Azure Cosmos DB для API для MongoDB
Прежде чем приступить к созданию приложения, рассмотрим иерархию ресурсов в Azure Cosmos DB. У Azure Cosmos DB есть объектная модель, используемая для создания ресурсов и доступа к ним. Azure Cosmos DB создает ресурсы в иерархии, состоящей из учетных записей, баз данных, коллекций и документов.
Иерархическая схема с учетной записью Azure Cosmos DB в верхней части. У учетной записи есть два дочерних узла базы данных. Один из узлов базы данных содержит два дочерних узла коллекции. Другой узел базы данных содержит один дочерний узел коллекции. Этот один узел коллекции содержит три дочерних узла документа.
Каждый тип ресурса представлен одним или несколькими связанными классами JavaScript. Ниже приведен список наиболее распространенных классов.
Класс | Description |
---|---|
MongoClient |
Этот класс предоставляет логическое представление на стороне клиента для уровня API для MongoDB в Azure Cosmos DB. Этот клиентский объект позволяет настраивать и выполнять запросы к службе. |
Db |
Этот класс является ссылкой на базу данных, которая может еще не существовать в службе. База данных проверяется на стороне сервера при попытке доступа к ней или выполнении операции с ней. |
Collection |
Этот класс является ссылкой на коллекцию, которая может еще не существовать в службе. Коллекция проверяется на стороне сервера при попытке работы с ней. |
Сведения об использовании каждого из этих классов для создания приложения приведены в следующих руководствах.
Руководство:
- Управление базами данных
- Управление коллекциями
- Управление документами
- Поиск документов с помощью запросов
См. также
Следующие шаги
Теперь, когда вы подключились к учетной записи API для MongoDB, используйте следующее руководство для создания баз данных и управления ими.