MongoDB es una de las bases de datos NoSQL más populares, ampliamente utilizada por los desarrolladores para crear aplicaciones escalables y flexibles. Junto con Node.js, que es una plataforma ampliamente adoptada para el desarrollo backend, puede crear API eficientes y aplicaciones sólidas. En esta publicación de blog, exploraremos cómo configurar MongoDB con Node.js, desde la instalación hasta la realización de operaciones CRUD (Crear, Leer, Actualizar, Eliminar) básicas.
MongoDB es una base de datos NoSQL orientada a documentos. En lugar de almacenar datos en tablas, como en las bases de datos relacionales, MongoDB almacena documentos en formato JSON, que se denomina BSON (Binary JSON). Esto proporciona flexibilidad en el modelado de datos y facilita la escalabilidad horizontal.
En primer lugar, necesitas instalar MongoDB. Dependiendo de su sistema operativo, siga las instrucciones en el sitio web oficial de instalación de MongoDB.
Crea un nuevo directorio para tu proyecto e inicia un proyecto Node.js:
mkdir mongo-node-app cd mongo-node-app npm init -y
El siguiente paso es instalar el controlador oficial de MongoDB para Node.js:
npm install mongodb
Ahora, cree un archivo index.js para configurar la conexión a MongoDB. Usaremos MongoClient para conectarnos a la base de datos.
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 agregar documentos a la colección, podemos usar el método insertOne() o insertMany().
async function createDocument(db) { const collection = db.collection("users"); const newUser = { name: "Lucas", age: 25, email: "[email protected]" }; const result = await collection.insertOne(newUser); console.log(`Documento inserido com o ID: ${result.insertedId}`); }
Para buscar documentos en una colección, usamos find() o findOne().
async function readDocuments(db) { const collection = db.collection("users"); const users = await collection.find({ age: { $gte: 18 } }).toArray(); console.log(users); }
Para actualizar un documento, usamos updateOne() o updateMany().
async function updateDocument(db) { const collection = db.collection("users"); const result = await collection.updateOne( { name: "Lucas" }, { $set: { email: "[email protected]" } } ); console.log(`Documentos atualizados: ${result.modifiedCount}`); }
Para eliminar documentos, usamos eliminarUno() o eliminarMany().
async function deleteDocument(db) { const collection = db.collection("users"); const result = await collection.deleteOne({ name: "Lucas" }); console.log(`Documentos deletados: ${result.deletedCount}`); }
Para un proyecto a gran escala, es mejor modularizar la conexión MongoDB y las operaciones CRUD. Por ejemplo, podemos tener un módulo de conexión independiente y servicios dedicados para cada entidad.
// 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 y Node.js forman una poderosa combinación para crear API escalables y aplicaciones web modernas. Con la flexibilidad de MongoDB y el entorno JavaScript de Node.js, puedes manipular datos de forma rápida y eficiente. Esta guía proporciona una base sólida para integrar MongoDB en su proyecto Node.js, desde la configuración inicial hasta las operaciones CRUD.
Si desea profundizar en el tema, considere explorar más funciones como indexación, agregaciones y replicación en MongoDB.
Consejos finales:
¡Espero que esta guía haya sido útil para integrar MongoDB con Node.js!
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3