Como conectar o Node.js ao MongoDB?

O Node.js pode se conectar ao MongoDB usando a biblioteca Mongoose, permitindo interagir com bancos NoSQL de maneira eficiente.

Como conectar o Node.js ao MongoDB?

O MongoDB é um banco de dados NoSQL altamente escalável e flexível. No Node.js, podemos utilizar a biblioteca Mongoose para interagir com o MongoDB de forma mais estruturada.

1. Instalando o Mongoose

Antes de começar, instale a biblioteca mongoose:

npm install mongoose

2. Criando a conexão com o MongoDB

Agora, crie um arquivo database.js para configurar a conexão:

const mongoose = require('mongoose');
require('dotenv').config();

const MONGO_URI = process.env.MONGO_URI || 'mongodb://localhost:27017/meubanco';

mongoose.connect(MONGO_URI, {
    useNewUrlParser: true,
    useUnifiedTopology: true
})
.then(() => console.log('Conectado ao MongoDB'))
.catch(erro => console.error('Erro ao conectar ao MongoDB:', erro));

module.exports = mongoose;

3. Criando um modelo de dados com Mongoose

No MongoDB, os dados são armazenados em coleções, e cada coleção contém documentos. Podemos definir um modelo para esses documentos:

const mongoose = require('mongoose');

const UsuarioSchema = new mongoose.Schema({
    nome: { type: String, required: true },
    email: { type: String, required: true, unique: true },
    idade: { type: Number, required: true }
});

const Usuario = mongoose.model('Usuario', UsuarioSchema);

module.exports = Usuario;

4. Criando e buscando dados

Agora podemos inserir e buscar usuários no MongoDB:

const Usuario = require('./Usuario');

async function criarUsuario() {
    const novoUsuario = new Usuario({ nome: 'João', email: 'joao@email.com', idade: 25 });
    await novoUsuario.save();
    console.log('Usuário criado:', novoUsuario);
}

async function listarUsuarios() {
    const usuarios = await Usuario.find();
    console.log('Lista de usuários:', usuarios);
}

criarUsuario();
listarUsuarios();

Esse código cria um usuário no banco e depois lista todos os usuários cadastrados.

Conclusão

O Mongoose facilita a conexão e manipulação do MongoDB no Node.js, tornando as operações de banco de dados mais organizadas e seguras.

O MongoDB é amplamente utilizado por empresas como Uber, Netflix e eBay devido à sua flexibilidade e escalabilidade. Diferente dos bancos relacionais, ele armazena dados em documentos JSON, tornando-o ideal para aplicações modernas e dinâmicas.

Com Node.js, o MongoDB se torna uma solução poderosa para APIs, microservices e aplicações de grande porte.

Algumas aplicações:

  • Armazenamento de usuários em aplicações web
  • Gerenciamento de dados em sistemas de e-commerce
  • APIs escaláveis para aplicações em tempo real
  • Registro de logs e eventos
  • Sistemas de recomendação

Dicas para quem está começando

  • Use mongoose.connect para conectar ao MongoDB com segurança.
  • Defina schemas no Mongoose para organizar os dados.
  • Evite armazenar senhas em texto plano; utilize bcrypt para hash.
  • Utilize variáveis de ambiente para esconder a URL do banco.
  • Prefira usar índices no MongoDB para melhorar a performance das buscas.

Contribuições de Lucas Fernandes

Compartilhe este tutorial: Como conectar o Node.js ao MongoDB?

Compartilhe este tutorial

Continue aprendendo:

Como documentar uma API Node.js usando Swagger?

O Swagger permite documentar APIs Node.js de forma interativa, facilitando testes e entendimento dos endpoints.

Tutorial anterior

Como conectar o Node.js ao PostgreSQL?

O Node.js se conecta ao PostgreSQL utilizando o pacote `pg`, permitindo executar consultas SQL e manipular dados de maneira eficiente.

Próximo tutorial