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 Node.js

Lauren Schaefer5 min read • Published Feb 04, 2022 • Updated Nov 29, 2023
Node.jsJavaScript
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Início rápido
star-empty
star-empty
star-empty
star-empty
star-empty
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.4, Driver MongoDB Node.js 3.6.4 e Node.js 14.15.4.
Clique aqui para ver uma versão anterior desta publicação que usa o MongoDB 4.0, Driver MongoDB Node.js 3.3.2 e Node.js 10.16.3.
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. A versão atual do MongoDB Node.js Driver requer Node 4.x ou superior. Para esses exemplos, usei Node.js 14.15.4. Consulte os documentos de compatibilidade do MongoDB para obter mais informações sobre qual versão do Node.js é necessária para cada versão do driver do Node.js.

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.6.4 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.6 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.
1async function main() {
2 // we'll add code here soon
3}
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>/sample_airbnb?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 este 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 Início rápido
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Início rápido

Integração do Atlas Search com o BuildSship


Oct 15, 2024 | 4 min read
Tutorial

Simplificando o desenvolvimento nativo da nuvem com o Gitpod e o MongoDB Atlas


Apr 02, 2024 | 5 min read
Tutorial

Análise de moeda com coleções de séries temporais #2 — Cálculo da média móvel simples e da média móvel exponencial


May 16, 2022 | 7 min read
Artigo

MongoDB e Mongoose: compatibilidade e comparação


Apr 02, 2024 | 11 min read
Sumário