Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
MongoDB Shell (mongosh) é um ambiente JavaScript e Node.js para interagir com implantações do MongoDB. É uma ferramenta comunitária popular para testar consultas e interagir com os dados no seu cluster Azure DocumentDB. Este artigo explica como se ligar a um cluster Azure DocumentDB usando o MongoDB Shell.
Pré-requisitos
Uma assinatura do Azure
- Se você não tiver uma assinatura do Azure, crie uma conta gratuita
Um cluster do Azure DocumentDB existente
- Se não tiver um cluster, crie um novo cluster
Shell MongoDB. Para obter mais informações, consulte instalar o shell do MongoDB
Regras de firewall que permitem que o cliente se conecte ao cluster. Para obter mais informações, consulte Configurar firewall.
Obter credenciais de cluster
Obtenha a cadeia de conexão necessária para se conectar a esse cluster.
Iniciar sessão no portal Azure (https://portal.azure.com).
Navegue até ao cluster existente do Azure DocumentDB.
Obtenha as credenciais que usa para se ligar ao cluster.
Na página do cluster, selecione a opção Cadeias de Conexão no menu dos recursos.
Na secção Strings de Ligação, copie ou grave o valor do campo String de Ligação.
Importante
A cadeia de conexão no portal não inclui o valor da senha. Você deve substituir o espaço reservado <password> pelas credenciais inseridas quando criou o cluster ou inserir a senha interativamente.
Conecte-se com autenticação de senha interativa
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 interativo para inserir sua senha como parte das etapas de conexão.
Abra um terminal.
Conecte-se inserindo a senha no prompt 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"Depois de fornecer a senha e ser autenticado com êxito, observe o aviso que aparece
This server or service appears to be an emulation of MongoDB.Sugestão
Pode ignorar este aviso. Esse aviso é gerado porque a cadeia de conexão contém
cosmos.azure. O Azure DocumentDB é uma plataforma nativa Azure como serviço (PaaS).Saia do contexto do shell.
Conectar com string de conexão e senha
Agora, conecte-se ao cluster a partir do Shell do MongoDB com uma cadeia de conexão e parâmetros que incluem uma senha.
Conecte-se usando uma string de conexão e os argumentos
--usernamee--password.mongosh "mongodb+srv://<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000" --username "<username>" -password "<password>"Depois de fornecer a palavra-passe e ser autenticado com sucesso, observe o aviso que aparece.
------ Warning: Non-Genuine MongoDB Detected This server or service appears to be an emulation of MongoDB rather than an official MongoDB product. ------Sugestão
Pode ignorar este aviso. Esse aviso é gerado porque a cadeia de conexão contém
cosmos.azure. O Azure DocumentDB é uma plataforma nativa Azure como serviço (PaaS).
Executar consultas de teste
Verifique se você está conectado com êxito ao cluster executando uma série de comandos de teste e consultas.
Verifique o status da conexão executando o
connectionStatuscomando.db.runCommand({connectionStatus: 1}){ ... ok: 1 }Liste os bancos de dados em seu cluster.
show dbsMude para um banco de dados específico. Substitua o marcador de posição
<database-name>pelo nome de uma base de dados no seu cluster.use <database-name>Sugestão
Por exemplo, se o nome do banco de dados for
inventory, o comando seráuse inventory.Liste as coleções dentro do banco de dados.
show collectionsEncontre os cinco primeiros itens de uma coleção específica. Substitua o marcador
<collection-name>pelo nome de qualquer coleção no seu cluster.db.<collection-name>.find().limit(5)Sugestão
Por exemplo, se o nome da coleção for
equipment, o comando serádb.equipment.find().limit(5).