11.5. Eliminar documentos en MongoDB: Eliminar documentos con condiciones

Página 59

11.5. Eliminar documentos en MongoDB: eliminar documentos con condiciones

Una de las operaciones más críticas en cualquier sistema de gestión de bases de datos es la eliminación de documentos. En MongoDB, esto no es diferente. Eliminar documentos es una tarea que se debe realizar con mucho cuidado ya que una vez eliminado un documento no se puede recuperar. En esta sección, discutiremos cómo eliminar documentos en MongoDB con condiciones.

MongoDB proporciona dos métodos para eliminar documentos de una colección: deleteOne() y deleteMany(). Ambos métodos aceptan un objeto de condición como argumento. Este objeto de condición es similar al que usamos en la operación de búsqueda. Especifica las condiciones que deben cumplir los documentos para ser eliminados.

Eliminar documentos con condiciones usando deleteOne()

El método deleteOne() elimina el primer documento que coincide con la condición especificada. Por ejemplo, si queremos eliminar un documento cuyo campo 'nombre' es 'Juan', podemos hacerlo de la siguiente manera:

db.collection('usuarios').deleteOne({ nombre: 'John' });

Este comando eliminará el primer documento de la colección 'usuarios' donde el campo 'nombre' es 'John'. Si hay varios documentos que cumplen esta condición, solo se eliminará el primero.

Eliminar documentos con condiciones usando deleteMany()

El método deleteMany() elimina todos los documentos que coinciden con la condición especificada. Por ejemplo, si queremos excluir todos los documentos cuyo campo 'edad' sea inferior a 18 años, podemos hacerlo de la siguiente manera:

db.collection('usuarios').deleteMany({ edad: { $lt: 18 } });

Este comando eliminará todos los documentos de la colección 'usuarios' donde el campo 'edad' sea inferior a 18 años. A diferencia del método deleteOne(), el método deleteMany() no se detiene después de eliminar el primer documento que cumple la condición. Continúa recorriendo la colección hasta que se eliminen todos los documentos que cumplan la condición.

Eliminación de documentos con condiciones complejas

Las condiciones para eliminar documentos no tienen por qué ser sencillas. Podemos especificar condiciones complejas utilizando operadores lógicos y de comparación. Por ejemplo, si queremos excluir todos los documentos cuyo campo 'edad' sea menor de 18 años y cuyo campo 'país' sea 'EE.UU.', podemos hacerlo de la siguiente manera:

db.collection('usuarios').deleteMany({ edad: { $lt: 18 }, país: 'EE.UU.' });

Este comando eliminará todos los documentos de la colección 'usuarios' donde el campo 'edad' sea menor de 18 años y el campo 'país' sea 'EE.UU.'. Las condiciones se evalúan juntas, lo que significa que un documento debe cumplir todas las condiciones para ser eliminado.

Conclusión

Eliminar documentos es una operación crítica que debe realizarse con cuidado. En MongoDB, podemos eliminar documentos usando los métodos deleteOne() y deleteMany(), que aceptan un objeto de condición como argumento. Las condiciones pueden ser simples o complejas, dependiendo de las necesidades de nuestra aplicación.

Ahora responde el ejercicio sobre el contenido:

¿Cuál es la diferencia entre los métodos eliminarUno() y eliminarMany() en MongoDB?

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

¡Tú error! Inténtalo de nuevo.

Siguiente página del libro electrónico gratuito:

6011.6. Eliminar documentos en MongoDB: eliminar colecciones enteras

¡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.