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.
Por que MongoDB é uma ótima opção para aplicações Node.js?
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