En este tema, aprenderemos cómo eliminar documentos en MongoDB. La eliminación de documentos es una operación fundamental en cualquier base de datos, y MongoDB proporciona varias formas de realizar esta tarea de manera eficiente y segura.

Conceptos Clave

  1. Operación de Eliminación: MongoDB permite eliminar documentos de una colección utilizando varios métodos.
  2. Filtros de Eliminación: Los filtros se utilizan para especificar qué documentos deben ser eliminados.
  3. Métodos de Eliminación: deleteOne y deleteMany son los métodos principales para eliminar documentos.

Métodos de Eliminación

deleteOne

El método deleteOne elimina un solo documento que coincida con el filtro especificado. Si hay múltiples documentos que coinciden, solo se eliminará el primero encontrado.

Sintaxis:

db.collection.deleteOne(filter)

Ejemplo:

// Eliminar un documento donde el campo "nombre" sea "Juan"
db.usuarios.deleteOne({ nombre: "Juan" })

deleteMany

El método deleteMany elimina todos los documentos que coincidan con el filtro especificado.

Sintaxis:

db.collection.deleteMany(filter)

Ejemplo:

// Eliminar todos los documentos donde el campo "estado" sea "inactivo"
db.usuarios.deleteMany({ estado: "inactivo" })

Ejemplos Prácticos

Ejemplo 1: Eliminando un Documento Específico

Supongamos que tenemos una colección llamada productos y queremos eliminar un producto específico.

Colección productos:

[
  { "_id": 1, "nombre": "Laptop", "precio": 1000 },
  { "_id": 2, "nombre": "Teclado", "precio": 50 },
  { "_id": 3, "nombre": "Ratón", "precio": 25 }
]

Código para eliminar un documento:

// Eliminar el producto con _id igual a 2
db.productos.deleteOne({ _id: 2 })

Resultado:

[
  { "_id": 1, "nombre": "Laptop", "precio": 1000 },
  { "_id": 3, "nombre": "Ratón", "precio": 25 }
]

Ejemplo 2: Eliminando Múltiples Documentos

Supongamos que queremos eliminar todos los productos cuyo precio sea menor a 30.

Código para eliminar múltiples documentos:

// Eliminar todos los productos con precio menor a 30
db.productos.deleteMany({ precio: { $lt: 30 } })

Resultado:

[
  { "_id": 1, "nombre": "Laptop", "precio": 1000 }
]

Ejercicios Prácticos

Ejercicio 1: Eliminando un Documento

Descripción: Tienes una colección llamada clientes con los siguientes documentos:

[
  { "_id": 1, "nombre": "Ana", "edad": 28 },
  { "_id": 2, "nombre": "Luis", "edad": 35 },
  { "_id": 3, "nombre": "Carlos", "edad": 40 }
]

Tarea: Elimina el documento donde el nombre sea "Luis".

Solución:

db.clientes.deleteOne({ nombre: "Luis" })

Ejercicio 2: Eliminando Múltiples Documentos

Descripción: Tienes una colección llamada pedidos con los siguientes documentos:

[
  { "_id": 1, "producto": "Libro", "cantidad": 3 },
  { "_id": 2, "producto": "Cuaderno", "cantidad": 10 },
  { "_id": 3, "producto": "Lápiz", "cantidad": 15 }
]

Tarea: Elimina todos los documentos donde la cantidad sea mayor a 5.

Solución:

db.pedidos.deleteMany({ cantidad: { $gt: 5 } })

Resumen

En esta sección, hemos aprendido cómo eliminar documentos en MongoDB utilizando los métodos deleteOne y deleteMany. Estos métodos nos permiten eliminar documentos específicos o múltiples documentos que coincidan con un filtro determinado. Además, hemos practicado con ejemplos y ejercicios para reforzar los conceptos aprendidos.

En el próximo módulo, exploraremos el modelado de datos en MongoDB, donde aprenderemos a diseñar esquemas y trabajar con documentos anidados y referencias.

© Copyright 2024. Todos los derechos reservados