$setUnion (União de Conjuntos)

Última atualização: 2026-10-09

$setUnion (União de Conjuntos)

$setUnion mescla todos os arrays de entrada e deduplica os elementos, retornando a união. Usos típicos: combinar tags de várias fontes ou agregar IDs de leads coletados por canais diferentes. Aceita dois ou mais arrays, e elementos null são ignorados. O resultado não tem ordem garantida, e duplicatas colapsam em uma. Diferente de $concatArrays, que mantém duplicatas e preserva a ordem de concatenação, $setUnion segue a semântica de conjunto e deduplica.

CategoriaConjunto, Condição e Conversão
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $setUnion: [ <array1>, <array2>, ... ] }

⚙️ Parâmetros

arrayPelo menos duas matrizes cuja união é retornada.

Retorno:Uma mesclagem sem duplicatas de todos os elementos de entrada

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// $setUnion: mesclar dois conjuntos de tags
db.products.aggregate([
  { $project: {
      allTags: { $setUnion: ['$tags', '$extraTags'] }
  } }
])

Saída:

{ '_id': 1, 'allTags': [ 'a', 'b', 'c', 'd' ] }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QComo difere de $concatArrays?
A$setUnion deduplica sem ordenar; $concatArrays mantém duplicatas em ordem.
QQuantos arrays são suportados?
ADois ou mais.
QO resultado é deduplicado?
ASim — sob semântica de conjunto, cada elemento aparece uma vez.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%