Rumah > Artikel > hujung hadapan web > Integrasi MongoDB dengan Node.js – Panduan Lengkap
MongoDB é uma das bases de dados NoSQL mais populares, amplamente usada por desenvolvedores para criar aplicações escaláveis e flexíveis. Juntamente com Node.js, que é uma plataforma amplamente adotada para desenvolvimento de backend, você pode construir APIs eficientes e aplicações robustas. Neste blog post, vamos explorar como configurar o MongoDB com Node.js, desde a instalação até a execução de operações básicas de CRUD (Create, Read, Update, Delete).
MongoDB é uma base de dados NoSQL orientada a documentos. Em vez de armazenar dados em tabelas, como em bancos de dados relacionais, o MongoDB armazena documentos em formato JSON, que são chamados de BSON (Binary JSON). Isso oferece flexibilidade na modelagem de dados e facilita a escalabilidade horizontal.
Antes de mais nada, você precisa instalar o MongoDB. Dependendo do seu sistema operacional, siga as instruções no site oficial MongoDB Installation.
Crie um novo diretório para o seu projeto e inicie um projeto Node.js:
mkdir mongo-node-app cd mongo-node-app npm init -y
O próximo passo é instalar o driver oficial do MongoDB para Node.js:
npm install mongodb
Agora, crie um arquivo index.js para configurar a conexão ao MongoDB. Vamos utilizar o MongoClient para conectar ao banco de dados.
const { MongoClient } = require('mongodb'); async function connectDB() { const uri = "mongodb://localhost:27017"; // URL do MongoDB local const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true }); try { await client.connect(); console.log("Conectado ao MongoDB"); const db = client.db("mydatabase"); return db; } catch (err) { console.error("Erro ao conectar ao MongoDB", err); } finally { // Fechar a conexão await client.close(); } } connectDB();
Para adicionar documentos à coleção, podemos usar o método insertOne() ou insertMany().
async function createDocument(db) { const collection = db.collection("users"); const newUser = { name: "Lucas", age: 25, email: "lucas@example.com" }; const result = await collection.insertOne(newUser); console.log(`Documento inserido com o ID: ${result.insertedId}`); }
Para buscar documentos em uma coleção, usamos find() ou findOne().
async function readDocuments(db) { const collection = db.collection("users"); const users = await collection.find({ age: { $gte: 18 } }).toArray(); console.log(users); }
Para atualizar um documento, usamos updateOne() ou updateMany().
async function updateDocument(db) { const collection = db.collection("users"); const result = await collection.updateOne( { name: "Lucas" }, { $set: { email: "lucas.new@example.com" } } ); console.log(`Documentos atualizados: ${result.modifiedCount}`); }
Para remover documentos, usamos deleteOne() ou deleteMany().
async function deleteDocument(db) { const collection = db.collection("users"); const result = await collection.deleteOne({ name: "Lucas" }); console.log(`Documentos deletados: ${result.deletedCount}`); }
Para um projeto de larga escala, é melhor modularizar a conexão ao MongoDB e as operações de CRUD. Por exemplo, podemos ter um módulo de conexão separado e serviços dedicados para cada entidade.
// db.js const { MongoClient } = require('mongodb'); const uri = "mongodb://localhost:27017"; const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true }); async function connectDB() { await client.connect(); const db = client.db("mydatabase"); return db; } module.exports = { connectDB };
// index.js const { connectDB } = require('./db'); async function main() { const db = await connectDB(); // Executar operações de CRUD await createDocument(db); await readDocuments(db); await updateDocument(db); await deleteDocument(db); } main();
MongoDB e Node.js formam uma combinação poderosa para construir APIs escaláveis e aplicações web modernas. Com a flexibilidade do MongoDB e o ambiente JavaScript do Node.js, você pode manipular dados de forma rápida e eficiente. Este guia oferece uma base sólida para integrar o MongoDB ao seu projeto Node.js, desde a configuração inicial até as operações de CRUD.
Se você deseja aprofundar no assunto, considere explorar mais funcionalidades como indexação, agregações e replicação no MongoDB.
Dicas Finais:
Espero que esse guia tenha sido útil para integrar MongoDB com Node.js!
Atas ialah kandungan terperinci Integrasi MongoDB dengan Node.js – Panduan Lengkap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!