Explore o novo chatbot do Developer Center! O MongoDB AI chatbot pode ser acessado na parte superior da sua navegação para responder a todas as suas perguntas sobre o MongoDB .

Junte-se a nós no Amazon Web Services re:Invent 2024! Saiba como usar o MongoDB para casos de uso de AI .
Desenvolvedor do MongoDB
Central de desenvolvedor do MongoDBchevron-right
Idiomaschevron-right
JavaScriptchevron-right

Conecte-se a um MongoDB database usando o Node.js 3.3.2

Lauren Schaefer5 min read • Published Feb 04, 2022 • Updated Oct 01, 2024
Node.jsMongoDBJavaScript
SNIPPET
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse exemplo de código
star-empty
star-empty
star-empty
star-empty
star-empty
social-githubVer código
Logotipo do Início rápido em Node.js
Usa Node.js? Quer aprender MongoDB? Esta série de blogs é para você!
Nesta série de Início rápido, mostrarei os fundamentos de como começar a usar o MongoDB com o Node.js. Na publicação de hoje, vamos abordar como se conectar a um MongoDB database a partir de um script Node.js, recuperando uma lista de bancos de dados e imprimindo os resultados em seu console.
Esta publicação usa o MongoDB 4.0, Driver MongoDB Node.js 3.3.2 e Node.js 10.16.3.
Clique aqui para ver uma versão mais recente desta publicação que usa o MongoDB 4.4, Driver MongoDB Node.js 3.6.4 e Node.js 14.15.4.
Prefere aprender por vídeo? Podemos ajudar você. Confira o vídeo abaixo que mostra como se conectar e como realizar as operações CRUD.

configurar

Antes de começarmos, precisamos garantir que você tenha concluído algumas etapas de pré-requisito.

Instalar o Node.js

Primeiro, verifique se você tem uma versão compatível do Node.js instalada (o driver Node.js do MongoDB requer Node 4.x ou superior e, para esses exemplos, usei o Node.js 10.16.3).

Instale o driver Node.js do MongoDB

O driver Node.js do MongoDB permite que você interaja facilmente com MongoDB databases dentro de aplicativos Node.js. Você precisará do driver para se conectar ao seu banco de dados e executar as queries descritas nesta série de Início rápido.
Se você não tiver o driver Node.js do MongoDB instalado, poderá instalá-lo com o seguinte comando.
1npm install mongodb
No momento em que este artigo foi escrito, essa versão instalada 3.3.2 do driver. A execução do npm list mongodb exibirá o número da versão do driver atualmente instalado. Para obter mais detalhes sobre o driver e a instalação, consulte a documentação oficial.

Crie um MongoDB Atlas cluster gratuito e carregue os dados de amostra

Agora, você precisará de um MongoDB database. A maneira mais fácil de começar a usar o MongoDB é por meio do Atlas, o banco de dados como serviço totalmente gerenciado do MongoDB.
Vá para o Atlas e crie um novo cluster na camada gratuita. Em um nível alto, um cluster é um conjunto de nós onde as cópias do banco de dados serão armazenadas. Depois que a camada for criada, carregue os dados de exemplo. Se você não estiver familiarizado com a criação de um novo cluster e com o carregamento de dados de exemplo, confira este tutorial em vídeo do MongoDB Developer Advocate Maxime Beugnet.
Comece hoje mesmo com um cluster M0 no Atlas. É gratuito para sempre e é a maneira mais fácil de experimentar as etapas desta série de blogs.

Obtenha as informações de conexão do cluster

A etapa final é preparar seu cluster para conexão.
No Atlas, navegue até seu cluster e clique em CONNECT. O Assistente de conexão do cluster será exibido.
O assistente solicitará que você adicione seu endereço IP atual à lista de acesso IP e crie um usuário MongoDB, caso ainda não o tenha feito. Certifique-se de anotar o nome de usuário e a senha que você usa para o novo usuário do MongoDB, pois precisará deles em uma etapa posterior.
Em seguida, o assistente solicitará que você escolha um método de conexão. Selecione Conectar sua aplicação. Quando o assistente solicitar que você selecione a versão do driver, selecione Node.js e 3.0 ou posterior. Copie a string de conexão fornecida.
Para mais detalhes sobre como acessar o Assistente de Conexão e concluir os passos descritos acima, consulte a documentação oficial.

Conecte-se ao seu banco de dados de um aplicativo Node.js

Agora que tudo está configurado, é hora de programar! Vamos escrever um script Node.js que se conecta ao seu banco de dados e lista os bancos de dados em seu cluster.

Importar MongoClient

O módulo MongoDB exporta MongoClient e é isso que usaremos para nos conectarmos a um MongoDB database. Podemos usar uma instância do MongoClient para nos conectarmos a um cluster, acessar o banco de dados dele e fechar a conexão com ele.
1const { MongoClient } = require('mongodb');

Criar nossa função principal

Vamos criar uma função assíncrona chamada main() na qual nos conectaremos ao cluster do MongoDB, chamaremos funções que consultam nosso banco de dados e nos desconectaremos do nosso cluster.
A primeira coisa que precisamos fazer dentro de main() é criar uma constante para o nosso URI de conexão. O URI de conexão é a string de conexão que você copiou no Atlas na seção anterior. Ao colar a string de conexão, não se esqueça de atualizar <username> e <password> para que sejam as credenciais do usuário que você criou na seção anterior. A string de conexão inclui um placeholder <dbname>. Para estes exemplos, usaremos o banco de dados sample_airbnb, portanto, substitua <dbname> por sample_airbnb.
Observação: o nome de usuário e a senha fornecidos na string de conexão NÃO são os mesmos das credenciais do Atlas.
1/**
2* Connection URI. Update <username>, <password>, and <your-cluster-url> to reflect your cluster.
3* See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
4*/
5const uri = "mongodb+srv://<username>:<password>@<your-cluster-url>/sample_airbnb?retryWrites=true&w=majority";
Agora que temos nosso URI, podemos criar uma instância do MongoClient.
1const client = new MongoClient(uri);
Observação: ao executar esse código, você poderá ver DeprecationWarnings em torno da string de URL parser e do mecanismo Server Discover and Monitoring. Se você vir esses avisos, poderá removê-los passando opções para o MongoClient. Por exemplo, você poderia instanciar o MongoClient chamando new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true }). Consulte a documentação da API do driver MongoDB Node.js para obter mais informações sobre essas opções.
Agora estamos prontos para usar o MongoClient para conectar ao nosso cluster. client.connect() retornará uma promessa. Usaremos a palavra-chave await quando chamarmos client.connect() para indicar que devemos bloquear a execução adicional até que a operação seja concluída.
1await client.connect();
Agora podemos interagir com nosso banco de dados. Vamos construir uma função que imprima os nomes dos bancos de dados neste cluster. Muitas vezes, é útil conter essa lógica em funções bem nomeadas para melhorar a legibilidade de sua base de código. Ao longo desta série, criaremos novas funções semelhantes à função que estamos criando aqui à medida que aprendermos a escrever diferentes tipos de queries. Por enquanto, vamos chamar uma função chamada listDatabases().
1await listDatabases(client);
Vamos envolver nossas chamadas para funções que interagem com o banco de dados em uma declaração try/catch para lidarmos com quaisquer erros inesperados.
1try {
2 await client.connect();
3
4 await listDatabases(client);
5
6} catch (e) {
7 console.error(e);
8}
Queremos ter certeza de que fechamos a conexão com nosso cluster, portanto, terminaremos nosso try/catch com uma declaração final.
1finally {
2 await client.close();
3}
Quando tivermos escrito nossa função main(), precisamos chamá-la. Vamos enviar os erros para o console.
1main().catch(console.error);
Juntando tudo, nossa função main() e nossa chamada para ela serão parecidas com a seguinte.
1async function main(){
2 /**
3 * Connection URI. Update <username>, <password>, and <your-cluster-url> to reflect your cluster.
4 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
5 */
6 const uri = "mongodb+srv://<username>:<password>@<your-cluster-url>/test?retryWrites=true&w=majority";
7
8
9 const client = new MongoClient(uri);
10
11 try {
12 // Connect to the MongoDB cluster
13 await client.connect();
14
15 // Make the appropriate DB calls
16 await listDatabases(client);
17
18 } catch (e) {
19 console.error(e);
20 } finally {
21 await client.close();
22 }
23}
24
25main().catch(console.error);

Listar os bancos de dados em nosso cluster

Na seção anterior, fizemos referência à função listDatabases(). Vamos implementá-la!
Essa função recuperará uma lista de bancos de dados em nosso cluster e imprimirá os resultados no console.
1async function listDatabases(client){
2 databasesList = await client.db().admin().listDatabases();
3
4 console.log("Databases:");
5 databasesList.databases.forEach(db => console.log(` - ${db.name}`));
6};

Salvar seu arquivo

Você já implementado bastante código. Salve suas alterações e nomeie seu arquivo como connection.js. Para ver uma cópia do arquivo completo, visite o repositório GitHub nodejs-quickstart.

Executar seu script Node.js

Agora você está pronto para testar seu código! Execute seu script executando um comando como o seguinte em seu terminal: node connection.js.
Você verá uma saída como a seguinte:
1Databases:
2 - sample_airbnb
3 - sample_geospatial
4 - sample_mflix
5 - sample_supplies
6 - sample_training
7 - sample_weatherdata
8 - admin
9 - local

O que vem a seguir?

Hoje, você conseguiu se conectar a um MongoDB database a partir de um script Node.js, recuperar uma lista de bancos de dados em seu cluster e visualizar os resultados no console. Legal!
Agora que você está conectado ao seu banco de dados, continue com a próxima publicação desta série, na qual você aprenderá a executar cada uma das operações CRUD (criar, ler, atualizar e excluir, em português).
Enquanto isso, consulte os seguintes recursos:
Questões? Comentários? Queremos muito nos conectar com você. Participe da conversa nos fóruns da MongoDB Community.

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse exemplo de código
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Tutorial

Introdução ao Deno 2.0 e MongoDB


Oct 22, 2024 | 13 min read
Artigo

Crie um site de boletim informativo com a plataforma de dados MongoDB


Sep 09, 2024 | 9 min read
Início rápido

Integração do Atlas Search com o BuildSship


Oct 15, 2024 | 4 min read
Tutorial

Usar a OpenAI e o MongoDB Atlas para melhorar a funcionalidade de pesquisa


Sep 18, 2024 | 5 min read
Tecnologias Utilizadas
Linguagens
Tecnologias
Produtos
Sumário