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. En este artículo se explica cómo conectarse a un clúster de Azure DocumentDB mediante el shell de MongoDB.
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.
Shell de MongoDB Para obtener más información, consulte Instalación del shell de MongoDB.
Reglas de firewall que permiten al cliente conectarse al clúster. Para más información, consulte Configuración del firewall.
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.
Conexión con autenticación de contraseña interactiva
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.
Abra un terminal.
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.
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.
This server or service appears to be an emulation of MongoDB.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.Salga del contexto del shell.
Conectar utilizando la cadena de conexión y la contraseña
Ahora, conéctese al clúster desde el shell de MongoDB con una cadena de conexión y parámetros que incluyan una contraseña.
Conéctese mediante una cadena de conexión y los argumentos
--usernamey--password.mongosh "mongodb+srv://<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000" --username "<username>" -password "<password>"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).