$ cada
Nesta página
Definição
$each
O modificador
$each
está disponível para uso 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.
Comportamento
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.
Exemplos
Use $each
com o $push
operador
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 ] } } } )
Use $each
com o $addToSet
operador
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" ] }