Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APLICA-SE AO:
Mongodb
Importante
Você deseja migrar um aplicativo MongoDB existente ou usar recursos da Linguagem de Consulta do MongoDB (MQL)? Considere o Azure DocumentDB.
Você está procurando uma solução de banco de dados para cenários de alta escala com um SLA (contrato de nível de serviço 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 como se conectar ao Azure Cosmos DB para MongoDB usando o pacote npm do MongoDB nativo. Depois de conectado, você poderá executar operações em bancos de dados, coleções e documentos.
Note
Os snippets de código de exemplo estão disponíveis no GitHub como um projeto JavaScript.
Documentação de referência da API for MongoDB | Pacote do MongoDB (npm)
Prerequisites
- 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 um novo aplicativo JavaScript
Crie um novo aplicativo JavaScript em uma pasta vazia usando seu terminal preferencial. Use o comando
npm initpara iniciar os prompts para criar o arquivopackage.json. Aceite as configurações padrão para os prompts.npm initAdicione o pacote npm do MongoDB ao projeto JavaScript. Use o
npm install packagecomando que especifica o nome do pacote npm. O pacotedotenvé usado para ler as variáveis de ambiente de um arquivo.envdurante o desenvolvimento local.npm install mongodb dotenvPara executar o aplicativo, use um terminal para navegar até o diretório do aplicativo e execute o aplicativo.
node index.js
Conectar-se ao driver nativo do MongoDB para o Azure Cosmos DB em MongoDB
Para se conectar com o driver nativo do MongoDB para Azure Cosmos DB, crie 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 |
A variável de ambiente COSMOS_CONNECTION_STRING |
A API para a cadeia de conexão do MongoDB a ser usada para todas as solicitações |
options |
{ssl: true, tls: true, } |
Opções do MongoDB para a conexão. |
Veja o Guia de solução de 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 em 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 )
Recupere sua string de conexão
Localize 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.az cosmosdb keys list --type connection-strings \ --resource-group $resourceGroupName \ --name $accountNameCopie os valores de PRIMARY KEY. Você usará essas credenciais mais tarde.
Configurar variáveis de ambiente
Para usar os valores de CONNECTION STRING no 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 string de conexão
Adicione dependências para fazer referência aos pacotes do MongoDB e do DotEnv npm.
// 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.para usar o cadeia de conexã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 obter mais informações sobre diferentes maneiras de criar uma MongoClient instância, consulte o Início Rápido do Driver nodeJS do MongoDB.
Fechar a conexão do MongoClient
Quando o aplicativo for concluído com a conexão, lembre-se de fechá-lo. A .close() chamada deve ser após todas as chamadas de banco de dados serem feitas.
client.close()
Usar classes de cliente do MongoDB com a Azure Cosmos DB para 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 que é 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 de banco de dados do Azure Cosmos DB for MongoDB na parte superior. A conta tem dois nós de banco de dados secundários. Um dos nós de banco de dados inclui dois nós de coleção filho. O outro nó de banco de dados inclui um nó de coleção filho único. 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 |
Esta classe fornece a representação lógica do lado do cliente da camada da API para MongoDB no Azure Cosmos DB. Esse objeto do cliente é usado para configurar e executar solicitações no serviço. |
Db |
Essa classe é uma referência a um banco de dados que pode, ou não, existir no serviço ainda. O banco de dados é validado no lado do servidor quando você tenta acessá-lo ou executar uma operação nele. |
Collection |
Esta 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 guias a seguir mostram como usar cada uma dessas classes para compilar seu aplicativo.
Guia:
- Gerenciar bancos de dados
- Gerenciar coleções
- Gerenciar documentos
- Usar consultas para localizar documentos
Consulte também
Próximas Etapas
Agora que você se conectou a uma conta da API para MongoDB, use o próximo guia para criar e gerenciar bancos de dados.