Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

$ cada

Nesta página

  • Definição
  • Comportamento
  • Exemplos
$each

O modificador $each está disponível para utilizar com o operador $addToSet e o operador $push .

Use com o operador $addToSet para adicionar vários valores a uma array <field> se os valores não existirem no <field>.

{ $addToSet: { <field>: { $each: [ <value1>, <value2> ... ] } } }

Use com o operador $push para acrescentar vários valores a uma array <field>.

{ $push: { <field>: { $each: [ <value1>, <value2> ... ] } } }

O operador $push pode utilizar o modificador $each com outros modificadores. Para uma lista de modificadores disponíveis para $push, consulte Modificadores.

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 exemplo a seguir anexa cada elemento de [ 90, 92, 85 ] à array scores para o documento onde o campo name é igual a joe:

db.students.updateOne(
{ name: "joe" },
{ $push: { scores: { $each: [ 90, 92, 85 ] } } }
)

Uma collection inventory possui o seguinte documento:

{ _id: 2, item: "cable", tags: [ "electronics", "supplies" ] }

Em seguida, a operação a seguir usa o operador $addToSet com o modificador $each para adicionar vários elementos à array tags :

db.inventory.updateOne(
{ _id: 2 },
{ $addToSet: { tags: { $each: [ "camera", "electronics", "accessories" ] } } }
)

A operação só adiciona "camera" e "accessories" à array tags. "electronics" já estava na array:

{
_id: 2,
item: "cable",
tags: [ "electronics", "supplies", "camera", "accessories" ]
}
← $pullAll