Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Оболочка MongoDB (mongosh) — это среда JavaScript и Node.js для взаимодействия с развертываниями MongoDB. Это популярное средство сообщества для тестирования запросов и взаимодействия с данными в кластере Azure DocumentDB. Портал Azure содержит несколько средств для запроса данных MongoDB, включая Azure Cloud Shell. Azure Cloud Shell — это интерактивный, прошедший проверку подлинности, доступный в браузере терминал для управления ресурсами Azure. В этой статье объясняется, как подключиться к кластеру Azure DocumentDB с помощью MongoDB Shell в Azure Cloud Shell.
Предпосылки
подписка Azure
- Если у вас нет подписки Azure, создайте бесплатную учетную запись.
Существующий кластер Azure DocumentDB
- Если у вас нет кластера, создайте новый кластер
Правила брандмауэра, позволяющие клиентам в сетях подключаться к кластеру. Дополнительные сведения см. в разделе "Настройка брандмауэра".
(Необязательно) Эти предварительные требования требуются только в том случае, если вы используете Azure Cloud Shell в виртуальной сети, которая одинакова или одноранговая с Azure DocumentDB.
Одна или несколько существующих виртуальных сетей Azure с подсетями для развертывания Azure Cloud Shell и Azure DocumentDB.
Частная конечная точка для кластера Azure DocumentDB. Дополнительные сведения см. в разделе "Настройка приватного канала".
Azure Cloud Shell, развернутая в той же или одноранговой виртуальной сети с подключением к частной конечной точке Azure DocumentDB. Дополнительные сведения см. в статье о развертывании Cloud Shell в виртуальной сети.
Включение доступа к кластеру из Azure Cloud Shell
Сначала убедитесь, что Azure Cloud Shell может получить доступ к кластеру Azure DocumentDB, разрешая ip-адреса в брандмауэре.
Войдите на портал Azure (https://portal.azure.com).
Перейдите к кластеру Azure DocumentDB.
Выберите сеть в меню навигации.
На странице "Сеть " в разделе "Общедоступный доступ " выберите параметр "+ Добавить IP-адреса Azure Cloud Shell ", чтобы автоматически добавить текущий IP-адрес в разрешенный список.
Выберите Сохранить, чтобы применить изменения.
Замечание
Чтобы обеспечить подключение, убедитесь, что определенные IP-адреса для вашего региона разрешены. Дополнительные сведения см. в IP-адреса для Azure DocumentDB.
Подключение, используя Azure Cloud Shell из раздела 'Быстрый старт'
Чтобы подключиться непосредственно к Azure DocumentDB с помощью MongoDB Shell, воспользуйтесь интерфейсом быстрого запуска на странице ресурса на портале Azure.
На странице ресурсов кластера выберите "Быстрый запуск" (предварительная версия) в меню навигации.
Затем выберите "Открыть оболочку MongoDB".
Подождите, пока не запустится оболочка среды MongoDB.
Как только среда будет готова, введите Y, для принятия уведомления.
Замечание
Если вы столкнулись с проблемой подключения с помощью MongoDB Shell после принятия уведомления, убедитесь, что Azure Cloud Shell имеет доступ к кластеру.
Теперь введите пароль для подключения кластера к Cloud Shell.
Получение учетных данных кластера
Получите строку подключения, необходимую для подключения к этому кластеру.
Войдите на портал Azure (https://portal.azure.com).
Перейдите к существующему кластеру Azure DocumentDB.
Получите учетные данные, используемые для подключения к кластеру.
На странице кластера выберите параметр "Строки подключения " в меню ресурсов.
В разделе "Строки подключения" скопируйте или запишите значение из поля строки подключения .
Это важно
Строка подключения на портале не включает значение пароля. Вы должны заменить плейсхолдер <password> на учетные данные, введенные при создании кластера, или ввести пароль в интерактивном режиме.
Настройка MongoDB Shell в Azure Cloud Shell вручную
Установите клиент MongoDB Shell (mongosh) в экземпляр Azure Cloud Shell с помощью диспетчера пакетов узлов (npm).
Откройте Azure Cloud Shell, настроенную с помощью среды сценариев Bash.
Установите версию 1 оболочки MongoDB локально в каталоге пользователя.
npm install mongosh@1Дождитесь завершения установки.
Убедитесь, что установка выполнена успешно, получив версию
mongoshсредства.npx mongosh --version
Подключение к кластеру
Подключитесь к кластеру с помощью оболочки MongoDB со строкой подключения, которая не содержит пароль. Используйте интерактивный запрос пароля, чтобы ввести пароль в рамках шагов подключения.
Подключитесь, введя пароль в командной строке MongoDB Shell. Для этого шага используйте строку подключения без пароля.
npx mongosh "mongodb+srv://<username>@<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"После предоставления пароля и успешной проверки подлинности обратите внимание на предупреждение, которое появится.
------ Warning: Non-Genuine MongoDB Detected This server or service appears to be an emulation of MongoDB rather than an official MongoDB product. ------Подсказка
Это предупреждение можно проигнорировать. Это предупреждение создается, так как строка подключения содержит
cosmos.azure. Azure DocumentDB — это собственная платформа Azure как услуга (PaaS).
Выполнение тестовых запросов
Убедитесь, что вы успешно подключены к кластеру, выполнив ряд тестовых команд и запросов.
Проверьте состояние подключения, выполнив
connectionStatusкоманду.db.runCommand({connectionStatus: 1}){ ... ok: 1 }Список баз данных в кластере.
show dbsПереключитесь в определенную базу данных. Замените
<database-name>заполнитель именем любой базы данных в кластере.use <database-name>Подсказка
Например, если имя базы данных равно
inventory, то команда будетuse inventory.Вывод списка коллекций в базе данных.
show collectionsНайдите первые пять элементов в определенной коллекции. Замените заполнитель
<collection-name>на имя коллекции в вашем кластере.db.<collection-name>.find().limit(5)Подсказка
Например, если имя коллекции —
equipment, то команда будетdb.equipment.find().limit(5).