Los operadores de actualización de MongoDB permiten modificar documentos existentes en una colección de forma precisa y eficiente. En lugar de reemplazar un documento completo, estos operadores actúan sobre campos individuales: establecen valores, incrementan contadores, añaden o eliminan elementos de arreglos, e incluso permiten ejecutar expresiones de pipeline para calcular valores dinámicamente en el momento de la actualización.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/tutosrive/db-nosql-2026-1/llms.txt
Use this file to discover all available pages before exploring further.
Operadores de Campo
Los operadores de campo modifican propiedades escalares de un documento.$set — Establecer o agregar campos
$unset — Eliminar un campo
El valor que se le pasa al campo dentro de
$unset no importa; por convención se usa "". Lo que importa es la clave: el campo con ese nombre será eliminado del documento.$inc — Incrementar un campo numérico
$inc también acepta valores negativos para decrementar.
Tabla de operadores de campo
| Operador | Descripción |
|---|---|
$set | Establece el valor de un campo. Si no existe, lo crea. |
$unset | Elimina un campo del documento. |
$inc | Incrementa (o decrementa) un campo numérico. |
$rename | Renombra un campo. |
$mul | Multiplica el valor de un campo por un número. |
Operadores de Arreglo
Cuando un campo contiene un arreglo, los siguientes operadores permiten agregar, eliminar o actualizar sus elementos.$set para establecer un arreglo completo
$push — Agregar un elemento al arreglo
$pull — Eliminar elementos del arreglo
$addToSet — Agregar si no existe
| Operador | Descripción |
|---|---|
$push | Agrega un elemento al final del arreglo, incluso si ya existe. |
$pull | Elimina todos los elementos que coincidan con el valor dado. |
$addToSet | Agrega un elemento solo si no está ya presente (evita duplicados). |
$pop | Elimina el primer (-1) o el último (1) elemento del arreglo. |
Actualización con Pipeline
Cuando el valor que se quiere asignar depende de otro campo del mismo documento, el objeto{} de actualización no es suficiente: es necesario pasar un arreglo de etapas (pipeline de agregación) como segundo argumento de updateMany o updateOne.
dob.age de todos los documentos de la colección personas para que refleje la edad real calculada desde dob.date hasta la fecha actual del servidor.
Operadores de Fecha
MongoDB proporciona operadores de expresión de fecha que se pueden usar dentro de pipelines de agregación o de actualización.| Operador | Descripción |
|---|---|
$dateDiff | Calcula la diferencia entre dos fechas en la unidad indicada |
$dateFromString | Convierte un string ISO en un objeto Date de MongoDB |
$toInt | Convierte un valor a entero (útil para truncar el resultado de $dateDiff) |
$$NOW | Variable de sistema: fecha y hora actuales del servidor |
Unidades válidas para $dateDiff
| Unidad | Descripción |
|---|---|
"year" | Años |
"quarter" | Trimestres |
"month" | Meses |
"week" | Semanas |
"day" | Días |
"hour" | Horas |
"minute" | Minutos |
"second" | Segundos |
Ejemplo en aggregate — Ver diferencia de años por persona
aggregate es útil para verificar el resultado antes de lanzar el updateMany: muestra cómo quedaría el campo dob.age calculado para el primer documento de la colección.
Ejercicio: Actualizar Edades a la Fecha Actual
Verificar la estructura del documento
Antes de actualizar, inspeccionar el documento para confirmar el formato del campo
dob.date.Probar el cálculo con aggregate
Usar un pipeline de agregación con
$limit: 1 para ver cómo quedaría el valor calculado sin modificar nada.Ejecutar el updateMany con pipeline
Una vez verificado el cálculo, ejecutar la actualización sobre todos los documentos.