En la sección 10.6 de nuestro curso de libro electrónico sobre la creación y el mantenimiento de una base de datos MongoDB desde lo básico hasta lo avanzado, cubriremos un tema muy importante: la actualización de documentos en MongoDB. Más específicamente, nos centraremos en la actualización condicional de documentos.
Para empezar, es importante comprender lo que significa actualizar un documento en MongoDB. En términos simples, actualizar un documento implica cambiar uno o más campos del documento. Esto se puede hacer usando varios métodos, pero el más común es el método update().
El método update() requiere dos argumentos: el criterio de selección (que identifica qué documentos actualizar) y las actualizaciones que se aplicarán. Por ejemplo, si queremos actualizar el campo "nombre" de un documento en una colección llamada "usuarios", el código sería algo como este:
db.usuarios.actualización( { nombre: "Juan" }, { $conjunto: { nombre: "João Silva" } } )
Este código busca en la colección "usuarios" un documento cuyo campo "nombre" sea "João" y cambia el valor de ese campo a "João Silva".
Sin embargo, ¿qué pasa si queremos hacer una actualización condicional? Por ejemplo, ¿si queremos actualizar el campo "nombre" solo si el campo "edad" es mayor que 18 años? Esto es lo que le permite hacer la actualización condicional de documentos en MongoDB.
Para realizar una actualización condicional, utilizamos la misma estructura básica que el método update(), pero agregamos una condición a los criterios de selección. Por ejemplo:
db.usuarios.actualización( { nombre: "João", edad: { $gt: 18 } }, { $conjunto: { nombre: "João Silva" } } )
En este ejemplo, la actualización solo se aplicará si el documento tiene un campo "nombre" igual a "John" y un campo "edad" mayor que 18. Si no se cumplen estas condiciones, el documento no se actualizará .
p>Hay muchos operadores que se pueden utilizar para crear condiciones en MongoDB. Algunos de los más comunes incluyen $gt (mayor que), $lt (menor que), $gte (mayor o igual que), $lte (menor o igual que), $eq (igual a), $ne ( no es igual a), $in (dentro de una matriz de valores) y $nin (no dentro de una matriz de valores).
Además, es posible combinar múltiples condiciones utilizando operadores lógicos como $y (y), $o (o), $not (no) y $nor (ninguno). Por ejemplo, el siguiente código actualiza el campo "nombre" sólo si el campo "edad" es mayor que 18 y el campo "ciudad" es igual a "São Paulo":
db.usuarios.actualización( { $y: [ { edad: { $gt: 18 } }, { ciudad: "São Paulo" } ] }, { $conjunto: { nombre: "João Silva" } } )
En resumen, la actualización condicional de documentos en MongoDB es una herramienta poderosa que le permite realizar cambios en documentos según criterios específicos. Esto convierte a MongoDB en una opción flexible y eficiente para administrar bases de datos.
En la siguiente sección de nuestro curso de libro electrónico, exploraremos otros aspectos de la actualización de documentos en MongoDB, incluida la actualización de varios documentos a la vez y la creación de nuevos campos durante la actualización. ¡Estén atentos!