Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

$inc (operador de atualizar)

$inc

O operador incrementa um campo em um valor $inc especificado.

Você pode utilizar o $inc para implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

O operador tem o seguinte $inc formato:

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

Para especificar um <field> em um documento incorporado ou em uma array, use a notação de ponto.

A partir do MongoDB 5.0, os operadores de atualização processam campos de documento com nomes baseados em cadeia de caracteres em ordem lexicográfica. Os campos com nomes numéricos são processados em ordem numérica. Consulte Atualizar Comportamento de Operadores para detalhes.

O operador aceita valores positivos e $inc negativos.

Se o campo não existir, criará o campo e definirá o campo para o valor$inc especificado.

Utilizar o operador em um campo com um valor nulo gera um $inc erro.

$inc é uma operação atômica dentro de um único documento.

A partir do MongoDB,5.0 mongod não gera mais um erro quando você usa um operador de atualização como $inc com uma expressão de operando vazia ( { } ). Uma atualização vazia não resulta em nenhuma alteração e nenhuma entrada no oplog é criada (o que significa que a operação é um no-op).

Crie a coleção products:

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

A seguinte operação updateOne() $inc utiliza o operador para:

  • aumentar o campo "metrics.orders" em 1

  • aumentar o campo quantity em -2 (que diminui quantity)

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

A operação retorna o seguinte resultado:

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