Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El Shell de MongoDB (mongosh) es un entorno de JavaScript y Node.js para interactuar con las implementaciones de MongoDB. Es una herramienta popular de la comunidad para probar las consultas e interactuar con los datos del clúster de Azure DocumentDB. Azure Portal contiene varias herramientas para consultar datos de MongoDB, incluido Azure Cloud Shell. Azure Cloud Shell es un terminal interactivo, autenticado y al que se puede acceder desde un explorador para administrar recursos de Azure. En este artículo se explica cómo conectarse a un clúster de Azure DocumentDB mediante MongoDB Shell en Azure Cloud Shell.
Prerrequisitos
Una suscripción de Azure
- Si no tiene ninguna suscripción a Azure, cree una cuenta gratuita
Un clúster de Azure DocumentDB existente
- Si no tiene un clúster, cree un nuevo clúster.
Reglas de firewall que permiten a los clientes de las redes conectarse al clúster. Para más información, consulte Configuración del firewall.
(Opcional) Estos requisitos previos solo son necesarios si usa Azure Cloud Shell dentro de una red virtual que sea la misma o emparejada con Azure DocumentDB.
Una o varias redes virtuales de Azure existentes con subredes para la implementación de Azure Cloud Shell y Azure DocumentDB.
Un punto de conexión privado para el clúster de Azure DocumentDB. Para obtener más información, consulte configurar enlace privado.
Azure Cloud Shell se implementa en la misma red virtual o en una red virtual emparejada con conectividad al punto de conexión privado de Azure DocumentDB. Para más información, consulte Implementación de Cloud Shell en una red virtual.
Habilitación del acceso al clúster desde Azure Cloud Shell
En primer lugar, asegúrese de que Azure Cloud Shell pueda acceder al clúster de Azure DocumentDB al permitir sus direcciones IP en el firewall.
Inicie sesión en Azure Portal (https://portal.azure.com).
Vaya al clúster de Azure DocumentDB.
Seleccione Redes en el menú de navegación.
En la página Redes de la sección Acceso público , seleccione la opción + Agregar direcciones IP de Azure Cloud Shell para agregar automáticamente la dirección IP actual a la lista de permitidos.
Seleccione Guardar para aplicar los cambios.
Nota:
Para garantizar la conectividad, asegúrese de que se permiten las direcciones IP específicas de la región. Para más información, consulte Direcciones IP para Azure DocumentDB.
Conexión mediante Azure Cloud Shell desde el inicio rápido
Para conectarse directamente a Azure DocumentDB mediante el shell de MongoDB, use la experiencia de inicio rápido disponible en la página del recurso en Azure Portal.
En la página de recursos del clúster, seleccione Inicio rápido (versión preliminar) en el menú de navegación.
A continuación, seleccione Abrir shell de MongoDB.
Espere a que se inicie el entorno de Shell de MongoDB.
Una vez que el entorno esté listo, escriba Y para aceptar el aviso.
Nota:
Si tiene un problema al conectarse mediante el shell de MongoDB después de aceptar el aviso, asegúrese de que Azure Cloud Shell tiene acceso al clúster.
Ahora, escriba la contraseña para conectar el clúster a Cloud Shell.
Obtener credenciales del clúster
Obtenga la cadena de conexión que necesita para conectarse a este clúster.
Inicie sesión en Azure Portal (https://portal.azure.com).
Vaya al clúster de Azure DocumentDB existente.
Obtenga las credenciales que usa para conectarse al clúster.
En la página del clúster, seleccione la opción Cadenas de conexión en el menú de recursos.
En la sección Cadenas de conexión , copie o registre el valor del campo Cadena de conexión .
Importante
La cadena de conexión del portal no incluye el valor de contraseña. Debe reemplazar el marcador de posición <password> por los datos de acceso que introdujo al crear el clúster o ingresar la contraseña de manera interactiva.
Configuración manual de MongoDB Shell en Azure Cloud Shell
Instale el cliente de MongoDB Shell (mongosh) en la instancia de Azure Cloud Shell mediante node Package Manager (npm).
Abra Azure Cloud Shell configurado con un entorno de scripting de Bash.
Instale la versión 1 del shell de MongoDB localmente en el directorio de usuario.
npm install mongosh@1Espere a que termine la instalación.
Compruebe que la instalación se realizó correctamente obteniendo la versión de la
mongoshherramienta.npx mongosh --version
Conectarse al clúster
Conéctese al clúster mediante el shell de MongoDB con una cadena de conexión que no incluya una contraseña. Use la solicitud de contraseña interactiva para escribir la contraseña como parte de los pasos de conexión.
Conéctese escribiendo la contraseña en la interfaz de línea de comandos del MongoDB Shell. Para este paso, use una cadena de conexión sin la contraseña.
npx mongosh "mongodb+srv://<username>@<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"Después de proporcionar la contraseña y autenticarse correctamente, observe la advertencia que aparece.
------ Warning: Non-Genuine MongoDB Detected This server or service appears to be an emulation of MongoDB rather than an official MongoDB product. ------Sugerencia
Puede omitir esta advertencia sin problemas. Esta advertencia se genera porque la cadena de conexión contiene
cosmos.azure. Azure DocumentDB es una oferta nativa de plataforma como servicio (PaaS) de Azure.
Realización de consultas de prueba
Compruebe que se ha conectado correctamente al clúster realizando una serie de comandos y consultas de prueba.
Para comprobar el estado de la conexión, ejecute el
connectionStatuscomando .db.runCommand({connectionStatus: 1}){ ... ok: 1 }Enumere las bases de datos del clúster.
show dbsCambie a una base de datos específica. Reemplace el
<database-name>marcador de posición por el nombre de cualquier base de datos del clúster.use <database-name>Sugerencia
Por ejemplo, si el nombre de la base de datos es
inventory, el comando seríause inventory.Enumere las colecciones dentro de la base de datos.
show collectionsBusque los cinco primeros elementos dentro de una colección específica. Reemplace el
<collection-name>marcador de posición por el nombre de cualquier colección del clúster.db.<collection-name>.find().limit(5)Sugerencia
Por ejemplo, si el nombre de la colección es
equipment, el comando seríadb.equipment.find().limit(5).