Compartir vía


Conexión a Azure DocumentDB mediante el shell de MongoDB

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

  • Un clúster de Azure DocumentDB existente

Obtener credenciales del clúster

Obtenga la cadena de conexión que necesita para conectarse a este clúster.

  1. Inicie sesión en Azure Portal (https://portal.azure.com).

  2. Vaya al clúster de Azure DocumentDB existente.

Obtenga las credenciales que usa para conectarse al clúster.

  1. En la página del clúster, seleccione la opción Cadenas de conexión en el menú de recursos.

  2. En la sección Cadenas de conexión , copie o registre el valor del campo Cadena de conexión .

Captura de pantalla que muestra la opción cadenas 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.

  1. Abra un terminal.

  2. 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"
    
  3. 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.

  4. 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.

  1. Conéctese mediante una cadena de conexión y los argumentos --username y --password.

    mongosh "mongodb+srv://<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000" --username "<username>" -password "<password>"
    
  2. 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.

  1. Para comprobar el estado de la conexión, ejecute el connectionStatus comando .

    db.runCommand({connectionStatus: 1})
    
    {
      ...
      ok: 1
    }
    
  2. Enumere las bases de datos del clúster.

    show dbs
    
  3. Cambie 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ía use inventory.

  4. Enumere las colecciones dentro de la base de datos.

    show collections
    
  5. Busque 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ía db.equipment.find().limit(5).