Introdução ao Azure Cosmos DB para MongoDB usando JavaScript
APLICA-SE A: MongoDB
Este artigo mostra como se conectar ao Azure Cosmos DB para MongoDB usando o pacote npm nativo do MongoDB. Uma vez conectado, você pode executar operações em bancos de dados, coleções e documentos.
Nota
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 subscrição ativa. Crie uma conta gratuitamente.
- Node.js LTS
- Interface de Linha de Comando (CLI) do Azure 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 preferido. Use o
npm init
comando para iniciar os prompts para criar opackage.json
arquivo. Aceite os padrões para os prompts.npm init
Adicione o pacote npm do MongoDB ao projeto JavaScript. Use o
npm install package
comando especificando o nome do pacote npm. Odotenv
pacote é usado para ler as variáveis de ambiente de um.env
arquivo durante o desenvolvimento local.npm install mongodb dotenv
Para executar o aplicativo, use um terminal para navegar até o diretório do aplicativo e executar o aplicativo.
node index.js
Conecte-se com o driver nativo do MongoDB ao Azure Cosmos DB para MongoDB
Para se conectar com o driver nativo do MongoDB ao Azure Cosmos DB, crie uma instância da MongoClient
classe. 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 cadeia de conexão MongoDB a ser usada para todas as solicitações |
options |
{ssl: true, tls: true, } |
Opções do MongoDB para a conexã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
az cosmosdb list
comando para 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 )
Obter a cadeia de ligação
Encontre a API para a cadeia de conexão do MongoDB na lista de cadeias de conexão da conta com o
az cosmosdb keys list
comando.az cosmosdb keys list --type connection-strings \ --resource-group $resourceGroupName \ --name $accountName
Registre 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
Adicione dependências para fazer referência aos pacotes npm MongoDB e DotEnv.
// Read .env file and set environment variables require('dotenv').config(); // Use official mongodb driver to connect to the server const { MongoClient } = require('mongodb');
Defina uma nova instância da classe usando o construtor e
process.env.
use a cadeia deMongoClient
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 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 depois que todas as chamadas de banco de dados forem feitas.
client.close()
Usar classes de cliente MongoDB com o Azure Cosmos DB para API para 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 na parte superior. A conta tem dois nós de banco de dados filho. Um dos nós de banco de dados inclui dois nós de coleção filho. O outro nó do banco de dados inclui um único nó de coleção filho. Esse único nó de coleção tem três nós de doc filho.
Cada tipo de recurso é representado por uma ou mais classes JavaScript associadas. Aqui está uma lista das classes mais comuns:
Classe | 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 |
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 em relação a ele. |
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 guias a seguir mostram como usar cada uma dessas classes para criar seu aplicativo.
Guia:
- Gerenciar bancos de dados
- Gerenciar coleções
- Gerir documentos
- Usar consultas para localizar documentos
Consulte também
Próximos passos
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.