Implementación de un CRUD en NoSQL con MongoDB

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.

1. Crear (Create)

La operación Create se utiliza para insertar nuevos documentos en una colección de la base de datos.

Sintaxis básica:

db.nombre_de_la_colección.insertOne({
                    campo1: valor1,
                    campo2: valor2,
                    campo3: valor3,
                    ...
                });

Ejemplo:

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.

2. Leer (Read)

La operación Read se utiliza para consultar y obtener datos de una o varias colecciones.

Sintaxis básica:

db.nombre_de_la_colección.find({ condiciones }, { proyección });

Ejemplos:

  • Seleccionar todos los documentos:
    db.usuarios.find({});
  • Seleccionar documentos específicos con condiciones:
    db.usuarios.find({ edad: { $gt: 25 } }, { nombre: 1, email: 1, _id: 0 });
  • Ordenar resultados:
    db.usuarios.find({}).sort({ edad: -1 });

3. Actualizar (Update)

La operación Update se utiliza para modificar documentos existentes en una colección.

Sintaxis básica:

db.nombre_de_la_colección.updateOne(
                    { condiciones },
                    { $set: { campo1: nuevo_valor1, campo2: nuevo_valor2, ... } }
                );

Ejemplo:

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.

4. Eliminar (Delete)

La operación Delete se utiliza para eliminar documentos de una colección.

Sintaxis básica:

db.nombre_de_la_colección.deleteOne({ condiciones });

Ejemplo:

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.

Ejemplo Completo

Imaginemos que tienes una colección productos:

db.productos.insertOne({
                    nombre: "Laptop",
                    precio: 1500.00,
                    stock: 20
                });

Leer todos los productos:

db.productos.find({});

Actualizar el precio de un producto:

db.productos.updateOne(
                    { _id: ObjectId("60c72b2f9b1e8e6d88f0f456") },
                    { $set: { precio: 1400.00 } }
                );

Eliminar un producto:

db.productos.deleteOne({ _id: ObjectId("60c72b2f9b1e8e6d88f0f456") });

Buenas Prácticas

  1. Respaldo de Datos: Antes de realizar operaciones que modifiquen o eliminen datos, es recomendable hacer un respaldo de la base de datos.
  2. Índices: Utiliza índices en los campos que más consultas para mejorar el rendimiento.
  3. Validación de Datos: Siempre valida y sanitiza los datos que se van a insertar o actualizar para mantener la integridad de la base de datos.
  4. Permisos: Gestiona correctamente los permisos de acceso a la base de datos para que solo usuarios autorizados puedan realizar operaciones de insertOne, updateOne o deleteOne.
  5. Uso de Transacciones: Para operaciones complejas que involucren múltiples pasos, utiliza transacciones para asegurar la consistencia de los datos.
About Hero

Our Services

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod Lorem ipsum dolor sit amet.

Delivery Services

Shipping & Return

Promotion

24 Hours Service

Our Brands

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod Lorem ipsum dolor sit amet.