Docs Menu
Docs Home
/ /

$inc

$inc

El $inc El operador incrementa un campo en un valor especificado.

Puedes usar $inc para implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

El operador $inc tiene la siguiente forma:

{ $inc: { <field1>: <amount1>, <field2>: <amount2>, ... } }

Para especificar un <field> en un documento incrustado o en un arreglo, utiliza notación de puntos.

A partir de MongoDB 5.0, los operadores de actualización procesan los campos de documentos con nombres basados en cadenas en orden lexicográfico. Los campos con nombres numéricos se procesan en orden numérico. Consulta Comportamiento del operador de actualización para obtener más información.

El operador $inc acepta valores positivos y negativos.

Si el campo no existe, $inc crea el campo y lo establece en el valor especificado.

El uso del operador $inc en un campo con un valor nulo generará un error.

$inc es una operación atómica dentro de un único documento.

A partir de MongoDB 5.0, mongod ya no genera un error cuando utiliza un operador de actualización como $inc con una expresión de operando vacía ( { } ). Una actualización vacía no produce cambios y no genera ninguna entrada en el oplog (lo que significa que la operación es una “no-op").

Crear la colección products:

db.products.insertOne(
{
_id: 1,
sku: "abc123",
quantity: 10,
metrics: { orders: 2, ratings: 3.5 }
}
)

La siguiente operación updateOne() utiliza el operador $inc para:

  • incremente el campo "metrics.orders" en 1

  • incrementar el campo quantity en -2 (lo que disminuye quantity)

db.products.updateOne(
{ sku: "abc123" },
{ $inc: { quantity: -2, "metrics.orders": 1 } }
)

El documento actualizado sería así:

{
_id: 1,
sku: 'abc123',
quantity: 8,
metrics: { orders: 3, ratings: 3.5 }
}

Tip

Volver

$currentDate

En esta página