❌ Eliminar documentos (Delete)

Eliminar documentos en MongoDB

❌ Eliminar documentos (Delete)

En MongoDB eliminar documentos es un proceso sencillo y directo. Para ello utilizamos principalmente tres métodos:

  • deleteOne() → Elimina el primer documento que coincida con el filtro.
  • deleteMany() → Elimina todos los documentos que cumplan el filtro.
  • drop() → Elimina una colección completa.

🗑️ 1️⃣ Eliminar un documento (deleteOne)

Ejemplo: eliminar un usuario específico por email:

db.usuarios.deleteOne(
  { correo: "ana@correo.com" }
)

MongoDB solo borra el primer documento que coincida.


🧹 2️⃣ Eliminar varios documentos (deleteMany)

Ejemplo: eliminar todos los usuarios inactivos:

db.usuarios.deleteMany(
  { activo: false }
)

Esto NO afecta a los usuarios activos, solo a los que cumplen el filtro.


⚠️ 3️⃣ Eliminar toda una colección (drop)

Si necesitas borrar por completo una colección, usa drop():

db.productos.drop()

Esto elimina la colección completa, incluyendo sus documentos e índices. Advertencia: No hay marcha atrás.


🛒 4️⃣ Ejemplos reales de e-commerce

Eliminar un producto por SKU:

db.productos.deleteOne(
  { sku: "PROD123" }
)

Eliminar productos sin stock:

db.productos.deleteMany(
  { stock: 0 }
)

Eliminar usuarios que nunca confirmaron cuenta:

db.usuarios.deleteMany(
  { verificado: false, creado: { $lt: new Date("2024-01-01") } }
)

🔐 5️⃣ Importante: buenas prácticas al borrar datos

  • Evita deleteMany() sin filtro → borrarías TODO.
  • Haz backups si vas a borrar en masa.
  • En producción, usa filtros muy precisos.
  • Para “eliminar” sin destruir datos, considera un campo deleted: true (borrado lógico).

🧠 Resumen rápido

  • deleteOne(): elimina un documento.
  • deleteMany(): elimina varios documentos.
  • drop(): elimina la colección completa.
  • Borrado seguro: usa filtros precisos y haz copias.

Publicar un comentario

0 Comentarios