Un CRUD (Create, Read, Update, Delete) es un conjunto básico de operaciones que se utilizan para gestionar datos en una base de datos NoSQL. A continuación, se presenta una guía sobre cómo implementar cada una de estas operaciones utilizando MongoDB.
La operación Create se utiliza para insertar nuevos documentos en una colección de la base de datos.
db.nombre_de_la_colección.insertOne({
campo1: valor1,
campo2: valor2,
campo3: valor3,
...
});
Supongamos que tienes una colección llamada usuarios
con los campos _id
, nombre
, email
y edad
.
db.usuarios.insertOne({
nombre: "Juan Pérez",
email: "juan.perez@example.com",
edad: 30
});
Nota: MongoDB genera automáticamente un campo _id
único para cada documento si no se especifica.
La operación Read se utiliza para consultar y obtener datos de una o varias colecciones.
db.nombre_de_la_colección.find({ condiciones }, { proyección });
db.usuarios.find({});
db.usuarios.find({ edad: { $gt: 25 } }, { nombre: 1, email: 1, _id: 0 });
db.usuarios.find({}).sort({ edad: -1 });
La operación Update se utiliza para modificar documentos existentes en una colección.
db.nombre_de_la_colección.updateOne(
{ condiciones },
{ $set: { campo1: nuevo_valor1, campo2: nuevo_valor2, ... } }
);
Actualizar el email de un usuario específico.
db.usuarios.updateOne(
{ _id: ObjectId("60c72b2f9b1e8e6d88f0f123") },
{ $set: { email: "juan.nuevo@example.com" } }
);
Importante: Siempre especifica una condición para identificar qué documentos deben actualizarse. De lo contrario, podrías actualizar múltiples documentos inadvertidamente.
La operación Delete se utiliza para eliminar documentos de una colección.
db.nombre_de_la_colección.deleteOne({ condiciones });
Eliminar un usuario específico por su _id
.
db.usuarios.deleteOne({ _id: ObjectId("60c72b2f9b1e8e6d88f0f123") });
Importante: Al igual que con updateOne
, siempre utiliza condiciones específicas para evitar eliminar múltiples documentos.
Imaginemos que tienes una colección productos
:
db.productos.insertOne({
nombre: "Laptop",
precio: 1500.00,
stock: 20
});
db.productos.find({});
db.productos.updateOne(
{ _id: ObjectId("60c72b2f9b1e8e6d88f0f456") },
{ $set: { precio: 1400.00 } }
);
db.productos.deleteOne({ _id: ObjectId("60c72b2f9b1e8e6d88f0f456") });
insertOne
, updateOne
o deleteOne
.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod Lorem ipsum dolor sit amet.