Начало работы с API MongoDB Azure Cosmos DB и JavaScript

ОБЛАСТЬ ПРИМЕНЕНИЯ: API Azure Cosmos DB для MongoDB

В этой статье показано, как подключиться к API MongoDB Azure Cosmos DB с помощью собственного пакета npm MongoDB. После подключения можно выполнять операции с базами данных, коллекциями и документами.

Примечание

Примеры фрагментов кода доступны на GitHub в виде проекта JavaScript.

Справочная документация по API MongoDB | Пакет MongoDB (npm)

Предварительные требования

Создание приложения JavaScript

  1. Создайте приложение JavaScript в пустой папке с помощью предпочтительного терминала. Используйте команду npm init, чтобы приступить к созданию файла package.json. Примите значения по умолчанию для подсказок.

    npm init
    
  2. Добавьте пакет npm для MongoDB в проект JavaScript. Используйте команду npm install package, указывающую имя пакета npm. Пакет dotenv используется для считывания переменных среды из файла .env во время локальной разработки.

    npm install mongodb dotenv
    
  3. Чтобы запустить приложение, перейдите в каталог приложения и запустите его с помощью терминала.

    node index.js
    

Подключение с помощью собственного драйвера MongoDB к API MongoDB Azure Cosmos DB

Чтобы подключиться с помощью собственного драйвера MongoDB к Azure Cosmos DB, создайте экземпляр класса MongoClient. Этот класс является начальной точкой для выполнения всех операций с базами данных.

У наиболее распространенного конструктора для MongoClient два параметра:

Параметр Пример значения Описание
url Переменная среды COSMOS_CONNECTION_STRIN. Строка подключения API MongoDB для всех запросов
options {ssl: true, tls: true, } Параметры MongoDB для подключения.

Сведения о проблемах подключения см. в руководстве по устранению неполадок.

Получение имени ресурса

  1. Создайте переменную оболочки для resourceGroupName.

    # Variable for resource group name
    resourceGroupName="msdocs-cosmos"
    
  2. Используйте команду 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
    )
    

Получить строку подключения

  1. Найдите строку подключения API MongoDB в списке строк подключения для учетной записи с помощью команды az cosmosdb list-connection-strings.

    az cosmosdb list-connection-strings \
        --resource-group $resourceGroupName \
        --name $accountName 
    
  2. Скопируйте значения PRIMARY KEY (первичный ключ). Эти учетные данные понадобятся позже.

Настройка переменных среды

Чтобы использовать значения СТРОКА ПОДКЛЮЧЕНИЯ в коде, задайте это значение на локальном компьютере, на котором выполняется приложение. Чтобы задать переменную среды, используйте предпочтительный терминал для выполнения следующих команд:

$env:COSMOS_CONNECTION_STRING = "<cosmos-connection-string>"

Создание MongoClient с помощью строки подключения

  1. Добавьте зависимости для ссылки на пакеты 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');
    
  2. Определите новый экземпляр класса 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 с помощью Cosmos DB для API MongoDB

Прежде чем приступить к созданию приложения, рассмотрим иерархию ресурсов в Azure Cosmos DB. У Azure Cosmos DB есть объектная модель, используемая для создания ресурсов и доступа к ним. Azure Cosmos DB создает ресурсы в иерархии, состоящей из учетных записей, баз данных, коллекций и документов.

Diagram of the Azure Cosmos D B hierarchy including accounts, databases, collections, and docs.

Hierarchical diagram showing an Azure Cosmos D B account at the top. The account has two child database nodes. One of the database nodes includes two child collection nodes. The other database node includes a single child collection node. That single collection node has three child doc nodes.

Каждый тип ресурса представлен одним или несколькими связанными классами JavaScript. Ниже приведен список наиболее распространенных классов.

Класс Описание
MongoClient Этот класс является логическим представлением уровня API MongoDB в Cosmos DB на стороне клиента. Этот клиентский объект позволяет настраивать и выполнять запросы к службе.
Db Этот класс является ссылкой на базу данных, которая может еще не существовать в службе. База данных проверяется на стороне сервера при попытке доступа к ней или выполнении операции с ней.
Collection Этот класс является ссылкой на коллекцию, которая может еще не существовать в службе. Коллекция проверяется на стороне сервера при попытке работы с ней.

Сведения об использовании каждого из этих классов для создания приложения приведены в следующих руководствах.

Руководство:

См. также раздел

Дальнейшие действия

Теперь, когда вы подключились к учетной записи API MongoDB, используйте следующее руководство по созданию баз данных и управлению ими.