Imagen del artículo Eliminar documentos en MongoDB: recuperar documentos eliminados

11.10. Eliminar documentos en MongoDB: recuperar documentos eliminados

Página 64 | Escuchar en audio

11.10 Eliminar documentos en MongoDB: Recuperar documentos eliminados

MongoDB es un sistema de base de datos NoSQL orientado a documentos que ofrece alto rendimiento, alta disponibilidad y fácil escalabilidad. Trabaja con el concepto de colecciones y documentos, en lugar del tradicional modelo relacional de tablas y registros. En esta sección, discutiremos cómo eliminar documentos en una base de datos MongoDB y cómo recuperar estos documentos eliminados.

Eliminar documentos en MongoDB

Para eliminar documentos en una base de datos MongoDB, utilizamos el método remove(). Este método elimina documentos de una colección. La sintaxis básica de remove() es db.COLLECTION_NAME.remove(DELLETION_CRITTERIA).

Consideremos la siguiente colección 'estudiantes'

{
   "_id": Id. de objeto (5983548781331adf45ec5),
   "nombre": "John Doe",
   "edad": 22,
   "materias" : ["Matemáticas", "Ciencias", "Inglés"]
}

Para eliminar este documento, podemos usar el siguiente comando:

db.estudiantes.remove({"nombre":"John Doe"})

Este comando elimina el documento cuyo campo 'nombre' es 'John Doe'. Si hubiera varios documentos con el nombre 'John Doe', todos se eliminarían ya que no especificamos ningún criterio para el _id.

Recuperación de documentos eliminados

Una vez que se elimina un documento de MongoDB, se elimina permanentemente y no se puede recuperar. Por lo tanto, es importante asegurarse de que realmente desea eliminar un documento antes de hacerlo.

Sin embargo, existen algunas estrategias que puedes utilizar para recuperar documentos eliminados:

1. Copias de seguridad periódicas

La forma más eficaz de protegerse contra la pérdida de datos es realizar copias de seguridad periódicas de su base de datos. MongoDB ofrece varias estrategias de respaldo, incluido mongodump, respaldos de instantáneas de archivos y respaldos en la nube. Al realizar copias de seguridad periódicas, puede restaurar su base de datos a un estado anterior y recuperar documentos eliminados.

2. Llevar un diario

MongoDB admite el registro en diario, que escribe las operaciones de cambio de datos en el disco antes de que se apliquen a la base de datos. Si se elimina un documento, es posible que pueda recuperarlo usando el diario. Sin embargo, esto sólo es posible si el documento se eliminó recientemente y el diario aún no se ha sobrescrito.

3. Eliminación temporal

Otra estrategia es utilizar una 'eliminación temporal', en la que en realidad no se elimina el documento, sino que se marca como eliminado. Por ejemplo, puede agregar un campo "eliminado" al documento y establecer su valor en "verdadero" cuando se elimina el documento. Para recuperar el documento, simplemente restablezca el valor de "eliminado" a "falso".

En conclusión, eliminar documentos en MongoDB es una operación sencilla, pero recuperarlos puede resultar complicado. Por eso es tan importante tener una estrategia de copia de seguridad eficaz y considerar el uso de técnicas como el registro en diario y la eliminación temporal.

Ahora responde el ejercicio sobre el contenido:

¿Cuáles son las estrategias que puede utilizar para recuperar documentos eliminados en MongoDB?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Eliminar documentos en MongoDB: herramientas de copia de seguridad antes de eliminarlos

Siguiente página del libro electrónico gratuito:

65Eliminar documentos en MongoDB: herramientas de copia de seguridad antes de eliminarlos

3 minutos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.