Bases de datos nosql
1. Crear Documentos (C - Create)
Para insertar documentos en una base de datos documental, usamos insertOne() para un solo documento y insertMany() para varios documentos.
📌 Ejemplo: Insertar un producto en MongoDB desde la terminal (mongosh)
1use tienda 2db.productos.insertOne({ 3 nombre: "Laptop", 4 marca: "Dell", 5 precio: 1200 6})
📌 Insertar varios productos a la vez
1db.productos.insertMany([ 2 { nombre: "Celular", marca: "Samsung", precio: 800 }, 3 { nombre: "Tablet", marca: "Apple", precio: 1000 } 4])
✅ Resultado:
Los productos se guardan en la colección productos, sin necesidad de una estructura fija.
2. Leer Documentos (R - Read)
Para consultar documentos, usamos find().
📌 Ver todos los documentos en productos:
1db.productos.find()
📌 Filtrar por un campo específico (ejemplo: productos de la marca "Dell")
1db.productos.find({ marca: "Dell" })
📌 Mostrar solo algunos campos (ejemplo: nombre y precio, pero sin _id)
1db.productos.find({}, { nombre: 1, precio: 1, _id: 0 })
✅ Resultado:
Solo se mostrarán los campos seleccionados.
3. Actualizar Documentos (U - Update)
Para modificar documentos usamos updateOne() o updateMany().
📌 Ejemplo: Cambiar el precio de una laptop Dell
1db.productos.updateOne( 2 { nombre: "Laptop", marca: "Dell" }, 3 { $set: { precio: 1100 } } 4)
📌 Actualizar varios documentos a la vez
1db.productos.updateMany( 2 { marca: "Samsung" }, 3 { $set: { enStock: true } } 4)
✅ Resultado:
Los documentos que coincidan con el filtro se modificarán.
4. Eliminar Documentos (D - Delete)
Para eliminar documentos usamos deleteOne() o deleteMany().
📌 Ejemplo: Borrar un producto específico
1db.productos.deleteOne({ nombre: "Tablet" })
📌 Eliminar todos los productos de una marca
1db.productos.deleteMany({ marca: "Samsung" })
✅ Resultado:
Los documentos que coincidan con el filtro serán eliminados.
5. CRUD con Node.js
Podemos realizar estas operaciones también desde Node.js usando el driver de MongoDB.
📌 Código para hacer CRUD en Node.js
1const { MongoClient } = require("mongodb"); 2 3const url = "mongodb://localhost:27017"; 4const client = new MongoClient(url); 5const dbName = "tienda"; 6 7async function main() { 8 try { 9 await client.connect(); 10 console.log("Conectado a MongoDB"); 11 12 const db = client.db(dbName); 13 const productos = db.collection("productos"); 14 15 // Crear (Insertar un producto) 16 await productos.insertOne({ nombre: "Smartwatch", marca: "Xiaomi", precio: 150 }); 17 18 // Leer (Consultar productos) 19 const lista = await productos.find().toArray(); 20 console.log("Productos:", lista); 21 22 // Actualizar (Cambiar el precio de un producto) 23 await productos.updateOne({ nombre: "Smartwatch" }, { $set: { precio: 140 } }); 24 25 // Eliminar (Borrar un producto) 26 await productos.deleteOne({ nombre: "Smartwatch" }); 27 28 } finally { 29 await client.close(); 30 } 31} 32 33main();
✅ Explicación del código:
✔️ Se conecta a MongoDB
✔️ Inserta un producto
✔️ Muestra todos los productos
✔️ Actualiza el precio de un producto
✔️ Lo elimina de la base de datos