8. Eliminar documentos
La última operación básica es eliminar documentos. Úsala con precaución.
Eliminar un documento
Para eliminar un solo documento usa deleteOne:
// Elimina el primer listado que coincide
db.listings.deleteOne({ name: "Mi apartamento en Barcelona" })
MongoDB elimina solo el primer documento que encuentra con ese filtro.
Eliminar múltiples documentos
Para eliminar todos los documentos que coinciden con un filtro usa deleteMany:
// Elimina todos los listados de un barrio específico
db.listings.deleteMany({ neighbourhood_group_cleansed: "TEST" })
¡Cuidado! Si ejecutas
deleteMany({})sin filtro, borrarás toda la colección.
Verificar antes de eliminar
Es una buena práctica contar cuántos documentos se eliminarán antes de ejecutar el comando:
// Primero cuenta
db.listings.countDocuments({ price: "$0.00" })
// Si estás seguro, elimina
db.listings.deleteMany({ price: "$0.00" })
Eliminar vs Drop
Hay diferencia entre eliminar documentos y eliminar la colección completa:
// Elimina TODOS los documentos (pero mantiene la colección)
db.listings.deleteMany({})
// Elimina la colección COMPLETA (incluyendo índices)
db.listings.drop()
Usar drop() es más rápido si quieres eliminar todo, pero también elimina los índices que hayas creado.
No se puede deshacer
Las eliminaciones son permanentes. MongoDB no tiene un comando "undo". Por eso es importante:
- Hacer backups regulares
- Probar tus filtros con
find()antes de usardeleteMany() - Usar
deleteOne()cuando solo quieres eliminar un documento
Actividad 1
Advertencia: Estas operaciones eliminan datos permanentemente. Trabaja con cuidado.
- Inserta un listado de prueba con tu nombre en el campo
name - Elimina ese listado usando
deleteOne() - Inserta 3 listados de prueba con el barrio "TEST"
- Cuenta cuántos documentos hay con el barrio "TEST"
- Elimina todos los listados del barrio "TEST" usando
deleteMany()
Pro:
- Crea una nueva colección llamada
temporale inserta 10 documentos - Elimina los primeros 5 documentos usando
deleteMany()con un filtro apropiado - Elimina la colección completa usando
drop()y verifica que ya no existe conshow collections
This work is under a Attribution-NonCommercial-NoDerivatives 4.0 International license.
Desafíos de programación atemporales y multiparadigmáticos
Te encuentras ante un librillo de actividades, divididas en 2 niveles de dificultad. Te enfrentarás a los casos más comunes que te puedes encontrar en pruebas técnicas o aprender conceptos elementales de programación.
Buy the book
Support me on Ko-fi
Comments
There are no comments yet.