Compartilhar via


Conectar-se ao Azure DocumentDB usando o Shell do MongoDB

O Shell do MongoDB (mongosh) é um ambiente javaScript e Node.js para interagir com implantações do MongoDB. É uma ferramenta popular da comunidade para testar consultas e interagir com os dados no cluster do Azure DocumentDB. Este artigo explica como se conectar a um cluster do Azure DocumentDB usando o Shell do MongoDB.

Pré-requisitos

  • Uma assinatura do Azure

    • Se você não tiver uma assinatura do Azure, crie uma conta gratuita
  • Um cluster existente do Azure DocumentDB

Obter credenciais do cluster

Obtenha a cadeia de conexão necessária para se conectar a esse cluster.

  1. Entre no portal do Azure (https://portal.azure.com).

  2. Navegue até o cluster existente do Azure DocumentDB.

Obtenha as credenciais que você usa para se conectar ao cluster.

  1. Na página do cluster, selecione a opção Cadeias de conexão no menu de recursos.

  2. Na seção Cadeias de conexão , copie ou registre o valor do campo Cadeia de conexão .

Captura de tela mostrando a opção de cadeias de conexão.

Importante

A cadeia de conexão no portal não inclui o valor da senha. Você deve substituir o <password> placeholder pelas credenciais inseridas quando criou o cluster ou inserir a senha de forma interativa.

Conectar-se com a autenticação interativa de senha

Conecte-se ao cluster usando o Shell do MongoDB com uma cadeia de conexão que não inclui uma senha. Use o prompt de senha interativa para inserir sua senha como parte das etapas de conexão.

  1. Abra um terminal.

  2. Conecte-se inserindo a senha na linha de comando do MongoDB Shell. Para esta etapa, use uma cadeia de conexão sem a senha.

    mongosh "mongodb+srv://<username>@<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
    
  3. Depois de fornecer a senha e ser autenticado com êxito, observe o aviso exibido

    This server or service appears to be an emulation of MongoDB.
    

    Dica

    Você pode ignorar este aviso com segurança. Esse aviso é gerado porque a cadeia de conexão contém cosmos.azure. O Azure DocumentDB é uma oferta de PaaS (plataforma como serviço) nativa do Azure.

  4. Saia do contexto do shell.

Conectar-se com a cadeia de conexão e senha

Agora, conecte-se ao seu cluster a partir do MongoDB Shell usando uma cadeia de conexão e parâmetros que incluam uma senha.

  1. Conecte-se usando uma cadeia de conexão e os argumentos --username e --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. Depois de fornecer a senha e ser autenticado com êxito, observe o aviso exibido.

    ------
       Warning: Non-Genuine MongoDB Detected
       This server or service appears to be an emulation of MongoDB rather than an official MongoDB product.
    ------
    

    Dica

    Você pode ignorar este aviso com segurança. Esse aviso é gerado porque a cadeia de conexão contém cosmos.azure. O Azure DocumentDB é uma oferta de PaaS (plataforma como serviço) nativa do Azure.

Executar consultas de teste

Verifique se você está conectado com êxito ao cluster executando uma série de comandos e consultas de teste.

  1. Verifique o status da conexão executando o connectionStatus comando.

    db.runCommand({connectionStatus: 1})
    
    {
      ...
      ok: 1
    }
    
  2. Liste os bancos de dados em seu cluster.

    show dbs
    
  3. Mude para um banco de dados específico. Substitua o marcador <database-name> pelo nome de um banco de dados qualquer em seu cluster.

    use <database-name>
    

    Dica

    Por exemplo, se o nome do banco de dados for inventory, o comando será use inventory.

  4. Liste as coleções no banco de dados.

    show collections
    
  5. Localize os cinco primeiros itens em uma coleção específica. Substitua o marcador <collection-name> pelo nome de qualquer coleção em seu cluster.

    db.<collection-name>.find().limit(5)
    

    Dica

    Por exemplo, se o nome da coleção for equipment, o comando será db.equipment.find().limit(5).