Actualizar documentos es una tarea común cuando se trabaja con bases de datos. En MongoDB, esta tarea se realiza mediante operadores de actualización. En este capítulo, exploraremos cómo trabajar con operadores de actualización en MongoDB.
Antes de profundizar en los detalles, es importante comprender qué son los operadores de actualización. En términos simples, los operadores de actualización son instrucciones que MongoDB utiliza para modificar los valores de los documentos en una colección. Se utilizan junto con el método update() o findAndModify() para cambiar datos en un documento.
Actualizar operadores en MongoDB
En MongoDB, tenemos varios operadores de actualización disponibles. Empecemos por los más comunes:
- $set: este operador reemplaza el valor de un campo con un nuevo valor. Si el campo no existe en el documento, $set agregará un nuevo campo con el valor especificado.
- $unset: este operador elimina un campo de un documento.
- $inc: este operador incrementa el valor de un campo en una cantidad específica. Si el campo no existe, $inc creará un nuevo campo con el valor especificado.
- $mul: este operador multiplica el valor de un campo por un valor especificado.
- $rename: este operador cambia el nombre de un campo.
Actualización de documentos en MongoDB
Para actualizar un documento en MongoDB, utilizamos el método update(). El método update() acepta tres argumentos: los criterios de selección, el operador de actualización y un objeto de opciones. El criterio de selección se utiliza para seleccionar el documento a actualizar. El operador de actualización se utiliza para especificar la modificación a realizar. El objeto de opciones se utiliza para especificar opciones adicionales, como si la operación debe ser una actualización de varios documentos o una operación de inserción.
Por ejemplo, para actualizar el campo "nombre" de un documento en la colección "usuarios", puede utilizar el siguiente código:
db.usuarios.actualización( { _id: 1 }, { $set: { nombre: "Nuevo nombre" } } )
Este código buscará el documento en la colección "usuarios" donde el campo "_id" es igual a 1 y actualizará el campo "nombre" a "Nuevo nombre".
Trabajar con operadores de actualización
Veamos cómo podemos utilizar algunos de los operadores de actualización mencionados anteriormente.
Para utilizar el operador $set, puede hacer lo siguiente:
db.usuarios.actualización( { _id: 1 }, { $conjunto: { edad: 30 } } )
Este código actualizará el campo "edad" a 30 en el documento donde el campo "_id" es igual a 1.
Para utilizar el operador $unset, puede hacer lo siguiente:
db.usuarios.actualización( { _id: 1 }, { $desarmado: { edad: "" } } )
Este código eliminará el campo "edad" en el documento donde el campo "_id" es igual a 1.
Para utilizar el operador $inc, puede hacer lo siguiente:
db.usuarios.actualización( { _id: 1 }, { $inc: { edad: 1 } } )
Este código incrementará el valor del campo "edad" en 1 en el documento donde el campo "_id" es igual a 1.
Para utilizar el operador $mul, puede hacer lo siguiente:
db.usuarios.actualización( { _id: 1 }, { $mul: { edad: 2 } } )
Este código multiplicará el valor del campo "edad" por 2 en el documento donde el campo "_id" es igual a 1.
Para utilizar el operador $rename, puede hacer lo siguiente:
db.usuarios.actualización( { _id: 1 }, { $renombrar: { "edad": "nuevaEdad" } } )
Este código cambiará el nombre del campo "edad" a "newIdity" en el documento donde el campo "_id" es igual a 1.
En resumen, los operadores de actualización en MongoDB son herramientas poderosas que nos permiten modificar los datos de nuestros documentos de manera eficiente y efectiva. Al dominar estos operadores, podrá manipular sus datos en MongoDB con facilidad y precisión.