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.
Neste início rápido, você criará um aplicativo básico do Azure DocumentDB usando Node.js. O Azure DocumentDB é um armazenamento de dados NoSQL que permite que os aplicativos armazenem documentos na nuvem e os acessem usando drivers oficiais do MongoDB. Este guia mostra como criar documentos e executar tarefas básicas no cluster do Azure DocumentDB usando Node.js.
Referência de API | Código-fonte | Pacote (npm)
Pré-requisitos
Uma assinatura do Azure
- Se você não tiver uma assinatura do Azure, crie uma conta gratuita
- Node.js 22 ou mais recente
Criar um cluster do Azure DocumentDB
Para começar, primeiro você precisa criar um cluster do Azure DocumentDB, que serve como base para armazenar e gerenciar seus dados NoSQL.
Entre no portal do Azure (https://portal.azure.com).
No menu do portal do Azure ou na Home page, selecione Criar um recurso.
Na página Novo , pesquise e selecione o Azure DocumentDB.
Na página Criar cluster do Azure DocumentDB e na seção Configurações básicas, selecione a opção Configurar na seção Camada Cluster.
Na página Dimensionar , configure essas opções e, em seguida, selecione Salvar para persistir suas alterações na camada de cluster.
Value Nível do cluster M30 tier, 2 vCore, 8-GiB RAMArmazenamento por fragmento 128 GiB
De volta à seção Noções básicas , configure as seguintes opções:
Value Subscription Selecione sua Assinatura do Azure. Grupo de recursos Crie um novo grupo de recursos ou escolha um grupo de recursos existente Nome do cluster Forneça um nome global exclusivo Localidade Escolha uma região do Azure compatível com sua assinatura Versão do MongoDB Selecione 8.0Nome de usuário do administrador Criar um nome de usuário para acessar o cluster como administrador de usuário Senha Usar uma senha exclusiva associada ao nome de usuário
Dica
Registre os valores usados para nome de usuário e senha. Esses valores são usados posteriormente neste guia. Para obter mais informações sobre valores válidos, consulte as limitações do cluster.
Selecione Avançar: Rede.
Na seção Regras de Firewall na guia Rede , configure estas opções:
Value Método de conectividade Public accessPermitir acesso público de serviços e recursos do Azure dentro do Azure para esse cluster Habilitado Adicione uma regra de firewall para o dispositivo cliente atual para conceder acesso ao cluster selecionando + Adicionar endereço IP do cliente atual.
Dica
Em muitos ambientes corporativos, os endereços IP do computador do desenvolvedor ficam ocultos devido a uma VPN ou outras configurações de rede corporativa. Nesses casos, você pode permitir temporariamente o acesso a todos os endereços IP adicionando o
0.0.0.0-255.255.255.255intervalo de endereços IP como uma regra de firewall. Use essa regra de firewall apenas temporariamente como parte do teste de conexão e do desenvolvimento.Selecione Examinar + criar.
Examine as configurações fornecidas e selecione Criar. São necessários alguns minutos para criar o cluster. Aguarde a conclusão da implantação do recurso.
Por fim, selecione Ir para o recurso para navegar até o cluster do Azure DocumentDB no portal.
Obter credenciais do cluster
Obtenha as credenciais que você usa para se conectar ao cluster.
Na página do cluster, selecione a opção Cadeias de conexão no menu de recursos.
Na seção Cadeias de conexão , copie ou registre o valor do campo Cadeia 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.
Inicializar o projeto
Crie um novo projeto de Node.js em seu diretório atual.
Inicie em um diretório vazio.
Abra um terminal no diretório atual.
Inicialize um projeto de Node.js.
npm init -yInstale o TypeScript e inicialize a configuração do TypeScript (opcional para suporte ao TypeScript).
npm install -D typescript @types/node npx tsc --init
Instalar a biblioteca de clientes
A biblioteca de clientes está disponível através do npm, como o pacote mongodb.
Instale o driver de Node.js do MongoDB usando o npm.
npm install mongodbAbra e examine o arquivo package.json para validar se a entrada do pacote existe.
Importe os módulos necessários para o código do aplicativo:
import { MongoClient, Db, Collection, Document } from 'mongodb';const { MongoClient } = require('mongodb');
Modelo de objeto
| Nome | Description |
|---|---|
MongoClient |
Tipo usado para se conectar ao MongoDB. |
Db |
Representa um banco de dados no cluster. |
Collection<Document> |
Representa uma coleção dentro de um banco de dados no cluster. |
Exemplos de código
- Autenticar o cliente
- Consiga uma coleção
- Criar um documento
- Recuperar um documento
- Consultar documentos
O código neste aplicativo se conecta a um banco de dados nomeado adventureworks e a uma coleção chamada products. A products coleção contém detalhes como nome, categoria, quantidade, um identificador exclusivo e um sinalizador de venda para cada produto. Os exemplos de código aqui executam as operações mais comuns ao trabalhar com uma coleção.
Autenticar o cliente
Primeiro, conecte-se ao cliente usando uma cadeia de conexão básica.
Crie a função principal e configure a cadeia de conexão. Substitua
<your-cluster-name>,<your-username>e<your-password>com suas informações reais do cluster.async function main(): Promise<void> { // Connection string for Azure DocumentDB cluster const connectionString = "mongodb+srv://<your-username>:<your-password>@<your-cluster-name>.global.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"; // Create a new client and connect to the server const client = new MongoClient(connectionString);async function main() { // Connection string for Azure DocumentDB cluster const connectionString = "mongodb+srv://<your-username>:<your-password>@<your-cluster-name>.global.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"; // Create a new client and connect to the server const client = new MongoClient(connectionString);Conecte-se ao cliente MongoDB e verifique a conexão.
try { // Connect to the MongoDB cluster await client.connect(); // Ping the server to verify connection await client.db("admin").command({ ping: 1 }); console.log("Successfully connected and pinged Azure DocumentDB");try { // Connect to the MongoDB cluster await client.connect(); // Ping the server to verify connection await client.db("admin").command({ ping: 1 }); console.log("Successfully connected and pinged Azure DocumentDB");
Adquirir uma coleção
Agora, obtenha seu banco de dados e coleção. Se o banco de dados e a coleção ainda não existirem, use o driver para criá-lo automaticamente.
Obtenha uma referência ao banco de dados.
// Get database reference const database: Db = client.db("adventureworks"); console.log(`Connected to database: ${database.databaseName}`);// Get database reference const database = client.db("adventureworks"); console.log(`Connected to database: ${database.databaseName}`);Obtenha uma referência à coleção no banco de dados.
// Get collection reference const collection: Collection<Document> = database.collection("products"); console.log("Connected to collection: products");// Get collection reference const collection = database.collection("products"); console.log("Connected to collection: products");
Criar um documento
Em seguida, crie alguns documentos novos em sua coleção. Insira ou atualize os documentos para garantir que eles substituam qualquer documento existente se já houver um com o mesmo identificador exclusivo.
Crie documentos de produto de exemplo.
// Create sample products interface Product { _id: string; name: string; category: string; quantity: number; price: number; sale: boolean; } const products: Product[] = [ { _id: "00000000-0000-0000-0000-000000004018", name: "Windry Mittens", category: "apparel-accessories-gloves-and-mittens", quantity: 121, price: 35.00, sale: false, }, { _id: "00000000-0000-0000-0000-000000004318", name: "Niborio Tent", category: "gear-camp-tents", quantity: 140, price: 420.00, sale: true, } ];// Create sample products const products = [ { _id: "00000000-0000-0000-0000-000000004018", name: "Windry Mittens", category: "apparel-accessories-gloves-and-mittens", quantity: 121, price: 35.00, sale: false, }, { _id: "00000000-0000-0000-0000-000000004318", name: "Niborio Tent", category: "gear-camp-tents", quantity: 140, price: 420.00, sale: true, } ];Insira os documentos usando operações upsert.
// Insert documents with upsert for (const product of products) { const filter = { _id: product._id }; const options = { upsert: true }; await collection.replaceOne(filter, product, options); console.log(`Upserted product: ${product.name}`); }// Insert documents with upsert for (const product of products) { const filter = { _id: product._id }; const options = { upsert: true }; await collection.replaceOne(filter, product, options); console.log(`Upserted product: ${product.name}`); }
Recuperar um documento
Em seguida, execute uma operação de leitura de ponto para recuperar um documento específico de sua coleção.
Defina o filtro para localizar um documento específico por ID.
// Retrieve a specific document by ID const filter = { _id: "00000000-0000-0000-0000-000000004018" };// Retrieve a specific document by ID const filter = { _id: "00000000-0000-0000-0000-000000004018" };Execute a consulta e recupere o resultado.
const retrievedProduct = await collection.findOne(filter); if (retrievedProduct) { console.log(`Retrieved product: ${retrievedProduct.name} - $${retrievedProduct.price}`); } else { console.log("Product not found"); }const retrievedProduct = await collection.findOne(filter); if (retrievedProduct) { console.log(`Retrieved product: ${retrievedProduct.name} - $${retrievedProduct.price}`); } else { console.log("Product not found"); }
Consultar documentos
Por fim, consulte vários documentos usando a Linguagem de Consulta do MongoDB (MQL).
Defina uma consulta para localizar documentos que correspondam a critérios específicos.
// Query for products on sale const saleFilter = { sale: true }; const saleProducts = await collection.find(saleFilter).toArray();// Query for products on sale const saleFilter = { sale: true }; const saleProducts = await collection.find(saleFilter).toArray();Percorra os resultados para exibir os documentos correspondentes.
console.log("Products on sale:"); for (const product of saleProducts) { console.log(`- ${product.name}: $${product.price.toFixed(2)} (Category: ${product.category})`); } } catch (error) { console.error("An error occurred:", error); } finally { await client.close(); } } main().catch(console.error);console.log("Products on sale:"); for (const product of saleProducts) { console.log(`- ${product.name}: $${product.price.toFixed(2)} (Category: ${product.category})`); } } catch (error) { console.error("An error occurred:", error); } finally { await client.close(); } } main().catch(console.error);
Explorar seus dados usando o Visual Studio Code
Use a extensão do DocumentDB no Visual Studio Code para executar operações de banco de dados principais, incluindo consulta, inserção, atualização e exclusão de dados.
Abra o Visual Studio Code.
Navegue até a visualização de Extensões e pesquise o termo
DocumentDB. Localize a extensão DocumentDB for VS Code.Selecione o botão Instalar para a extensão. Aguarde a conclusão da instalação. Recarregue o Visual Studio Code, se for solicitado.
Navegue até a extensão do DocumentDB selecionando o ícone correspondente na Barra de Atividades.
No painel Conexões do DocumentDB , selecione + Nova Conexão....
Na caixa de diálogo, selecione Descoberta de Serviço e, em seguida , Azure DocumentDB – Descoberta de Serviço do Azure.
Selecione sua assinatura do Azure e seu cluster do Azure DocumentDB recém-criado.
Dica
Em muitos ambientes corporativos, os endereços IP do computador do desenvolvedor ficam ocultos devido a uma VPN ou outras configurações de rede corporativa. Nesses casos, você pode permitir temporariamente o acesso a todos os endereços IP adicionando o
0.0.0.0-255.255.255.255intervalo de endereços IP como uma regra de firewall. Use essa regra de firewall apenas temporariamente como parte do teste de conexão e do desenvolvimento. Para obter mais informações, consulte configurar o firewall.De volta ao painel Conexões do DocumentDB, expanda o nó do seu cluster e navegue até os nós de documento e coleção existentes.
Abra o menu de contexto da coleção e, em seguida, selecione > Novo DocumentDB Scrapbook.
Insira os seguintes comandos MQL (Linguagem de Consulta do MongoDB) e selecione Executar Tudo. Observe a saída dos comandos.
db.products.find({ price: { $gt: 200 }, sale: true }) .sort({ price: -1 }) .limit(3)
Limpar os recursos
Quando terminar de usar o cluster do Azure DocumentDB, você poderá excluir os recursos do Azure criados para não incorrer em mais encargos.
Na barra de pesquisa do portal do Azure, procure e selecione Grupos de recursos.
Na lista, selecione o grupo de recursos criado neste início rápido.
Na página Grupo de recursos, selecione Excluir grupo de recursos.
Na caixa de diálogo de confirmação de exclusão, insira o nome do grupo de recursos para confirmar que você pretende excluí-lo. Por fim, selecione Excluir para excluir permanentemente o grupo de recursos.