$each (Múltiplos Elementos)
Última atualização: 2026-10-09
$each (Múltiplos Elementos)
$each fornece vários valores a $push e $addToSet. `{ $push: { tags: { $each: ['a', 'b', 'c'] } } }`. Com $addToSet, ele adiciona cada valor após deduplicação. Ele não pode ficar sozinho — deve ser aninhado dentro de $push ou $addToSet — e compõe com $position, $slice e $sort para manutenção avançada de arrays.
| Categoria | Modificador de Atualização |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $push: { <campo de array>: { $each: [ <valor1>, <valor2>, ... ] } } }
⚙️ Parâmetros
| campo de array | O campo de matriz ao qual acrescentar. |
|---|---|
| array de valores | A lista de elementos a adicionar. |
Retorno:O resultado da atualização
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $each: acrescenta várias tags
db.articles.updateOne(
{ _id: 1 },
{ $push: { tags: { $each: ['mongodb', 'database'] } } }
)
// $addToSet com $each adiciona com deduplicação
db.articles.updateOne(
{ _id: 1 },
{ $addToSet: { tags: { $each: ['database', 'nosql'] } } }
)
Saída:
// tags ganha dois valores; na segunda execução database é pulado e nosql é adicionado
📌 Notas
- Aninha-se apenas dentro de $push ou $addToSet
- $addToSet com $each deduplica valor a valor
- Compõe com $position, $slice e $sort
🏷️ Tags Relacionados
💡 Casos Relacionados
Consultas a matrizes e documentos aninhados
Atualização do documento: Uma explicação detalhada sobre `updateOne` e `updateMany`
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
Q$each pode ser usado sozinho?
ANão, ele deve ser escrito dentro de $push ou $addToSet.
QComo $addToSet com $each deduplica?
ACada valor é verificado individualmente; os existentes são pulados, então nenhuma duplicata permanece.
Q$each pode combinar com $sort?
ASim, $sort depois de $each dentro de $push ordena após acrescentar.