Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
MongoDB
Importante
Você está procurando migrar um aplicativo MongoDB existente ou usar os recursos MQL (MongoDB Query Language)? Considere Azure DocumentDB.
Você está procurando uma solução de banco de dados para cenários de alta escala com um contrato de nível de serviço (SLA) de disponibilidade de 99.999%, dimensionamento automático instantâneo e failover automático em várias regiões? Considere Azure Cosmos DB para NoSQL.
Este artigo mostra-lhe como se ligar ao Azure Cosmos DB para MongoDB usando o pacote nativo npm do MongoDB. Uma vez conectado, você pode executar operações em bancos de dados, coleções e documentos.
Observação
Os trechos de código de exemplo estão disponíveis no GitHub como um projeto JavaScript.
Documentação de referência da API para MongoDB | Pacote MongoDB (npm)
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Node.js LTS
- Azure Command-Line Interface (CLI) ou Azure PowerShell
- Recurso do Azure Cosmos DB para MongoDB
Criar uma nova aplicação JavaScript
Crie uma nova aplicação JavaScript numa pasta vazia usando o terminal preferido. Use o comando
npm initpara iniciar os prompts para criar o ficheiropackage.json. Aceite as opções padrão para os prompts.npm initAdicione o pacote npm do MongoDB ao projeto JavaScript. Usa o
npm install packagecomando que especifica o nome do pacote npm. Odotenvpacote é usado para ler as variáveis de ambiente de um.envarquivo durante o desenvolvimento local.npm install mongodb dotenvPara executar o aplicativo, use um terminal para navegar até o diretório do aplicativo e executar o aplicativo.
node index.js
Conectar-se com o driver nativo do MongoDB ao Azure Cosmos DB for MongoDB
Para ligar ao driver nativo do MongoDB para Azure Cosmos DB, criar uma instância da classe MongoClient. Essa classe é o ponto de partida para executar todas as operações em bancos de dados.
O construtor mais comum para MongoClient tem dois parâmetros:
| Parâmetro | Valor de Exemplo | Description |
|---|---|---|
url |
COSMOS_CONNECTION_STRING variável de ambiente |
API para a cadeia de ligação do MongoDB para usar em todos os pedidos |
options |
{ssl: true, tls: true, } |
Opções do MongoDB para a ligação. |
Consulte o Guia de solução de problemas para problemas de conexão.
Obter nome do recurso
Crie uma variável de shell para resourceGroupName.
# Variable for resource group name resourceGroupName="msdocs-cosmos"Use o comando
az cosmosdb listpara recuperar o nome da primeira conta do Azure Cosmos DB no seu grupo de recursos e armazená-lo na variável de shell accountName.# Retrieve most recently created account name accountName=$( az cosmosdb list \ --resource-group $resourceGroupName \ --query "[0].name" \ --output tsv )
Obter a cadeia de ligação
Encontre a cadeia de conexão da API do MongoDB na lista de cadeias de conexão da conta com o comando .
az cosmosdb keys list --type connection-strings \ --resource-group $resourceGroupName \ --name $accountNameRegistre os valores de CHAVE PRIMÁRIA . Você usará essas credenciais mais tarde.
Configurar variáveis de ambiente
Para usar os valores CONNECTION STRING dentro do seu código, defina esse valor no ambiente local que executa o aplicativo. Para definir a variável de ambiente, use seu terminal preferido para executar os seguintes comandos:
$env:COSMOS_CONNECTION_STRING = "<cosmos-connection-string>"
Criar MongoClient com cadeia de conexão
Adicionar dependências para referenciar os pacotes npm do MongoDB e DotEnv.
// Use official mongodb driver to connect to the server import { MongoClient } from 'mongodb';Defina uma nova instância da classe
MongoClientusando o construtor, eprocess.env.usar o cadeia de ligação.// New instance of MongoClient with connection string // for Cosmos DB const url = process.env.COSMOS_CONNECTION_STRING; const client = new MongoClient(url); // connect to the server await client.connect(); // client options const options = client.options; console.log( `Options:\n${Object.keys(options).map(key => `\t${key}: ${options[key]}\n`)}` );
Para mais informações sobre diferentes formas de criar uma MongoClient instância, veja MongoDB NodeJS Driver Quick Start.
Feche a conexão MongoClient
Quando o aplicativo terminar a conexão, lembre-se de fechá-lo. A .close() chamada deve ser feita depois de todas as chamadas à base de dados terem sido feitas.
client.close()
Usar classes cliente do MongoDB com o Azure Cosmos DB para a API do MongoDB
Antes de começar a criar o aplicativo, vamos examinar a hierarquia de recursos no Azure Cosmos DB. O Azure Cosmos DB tem um modelo de objeto específico usado para criar e acessar recursos. O Azure Cosmos DB cria recursos em uma hierarquia que consiste em contas, bancos de dados, coleções e documentos.
Diagrama hierárquico mostrando uma conta do Azure Cosmos DB para MongoDB na parte superior. A conta tem dois nós de banco de dados subordinados. Um dos nós de banco de dados inclui dois nós de coleção filho. O outro nó da base de dados inclui um único nó de coleção secundária. Esse único nó de coleção tem três nós de documento filho.
Cada tipo de recurso é representado por uma ou mais classes JavaScript associadas. Aqui está uma lista das classes mais comuns:
| Class | Description |
|---|---|
MongoClient |
Essa classe fornece uma representação lógica do lado do cliente para a camada API for MongoDB no Azure Cosmos DB. O objeto cliente é usado para configurar e executar solicitações no serviço. |
Db |
Esta classe é uma referência a uma base de dados que pode, ou não, existir ainda no serviço. A base de dados é validada do lado do servidor quando tenta aceder a ela ou realizar uma operação contra ela. |
Collection |
Essa classe é uma referência a uma coleção que também pode não existir no serviço ainda. A coleção é validada no lado do servidor quando você tenta trabalhar com ela. |
Os seguintes guias mostram-lhe como usar cada uma destas classes para construir a sua aplicação.
Guia:
- Gerenciar bancos de dados
- Gerenciar coleções
- Gerir documentos
- Usar consultas para localizar documentos
Consulte também
Passos seguintes
Agora que você se conectou a uma API para a conta do MongoDB, use o próximo guia para criar e gerenciar bancos de dados.