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

Operadores de atualização

Os seguintes operadores estão disponíveis para uso em operações de atualização, como db.collection.updateMany() e db.collection.findAndModify().

Especifique os operadores de atualização no seguinte formato:

{
<operator1>: { <field1>: <value1>, ... },
<operator2>: { <field2>: <value2>, ... },
...
}

Atualize os operadores para processar 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.

Considere este exemplo de comando $set:

{ $set: { "a.2": <new value>, "a.10": <new value>, } }

"a.2" é processado antes de "a.10" porque 2 vem antes de 10 em ordem numérica.

Os seguintes modificadores alteram como os operadores $push e $addToSet atualizam arrays:

Nome
Descrição

Modifica os operadores $push e $addToSet para acrescentar vários itens para atualizações de array.

Modifica o operador $push para especificar a posição na array para adicionar elementos.

Modifica o operador $push para limitar o tamanho das arrays atualizadas.

Modifica o operador $push para reordenar documentos armazenados em uma array.

Os seguintes operadores modificam o conteúdo de uma array:

Nome
Descrição

Adiciona elementos a uma array somente se eles ainda não existirem no conjunto.

Remove o primeiro ou último item de uma array.

Remove todos os elementos de array que correspondem a uma query especificada.

Remove todos os valores correspondentes de uma array.

Adiciona um item a uma array.

O seguinte operador executa uma atualização bitwise de um valor inteiro:

Nome
Descrição

Executa atualizações bitwise AND, OR e XOR de valores inteiros.

Os seguintes operadores modificam campos em um documento:

Nome
Descrição

Define o valor de um campo para a data atual, como data ou carimbo de data/hora.

Aumenta o valor do campo no valor especificado.

Somente atualiza o campo se o valor especificado for menor que o valor de campo existente.

Somente atualiza o campo se o valor especificado for maior que o valor de campo existente.

Multiplica o valor do campo pelo valor especificado.

Renomeia um campo.

Define o valor de um campo em um documento.

Define o valor de um campo se uma atualização resultar em uma inserção de um documento. Não tem efeito sobre as operações de atualização que modificam os documentos existentes.

Remove o campo especificado de um documento.

Os seguintes operadores atuam como espaços reservados para identificar quais elementos de array devem ser atualizados:

Nome
Descrição

Atua como um espaço reservado para atualizar o primeiro elemento que corresponde à condição de query.

Atua como um espaço reservado para atualizar todos os elementos em uma array para os documentos que correspondem à condição de query.

Atua como um espaço reservado para atualizar todos os elementos que correspondem à condição arrayFilters para os documentos que correspondem à condição de query.

Para criar instruções de atualização expressivas, como atualizações condicionais com base em valores de campo atuais ou atualizações de campo único que usam o valor de outro campo, você pode executar atualizações com uma agregação pipeline.

Para sintaxe e exemplos, consulte Atualizações com Aggregation Pipeline.