$setIntersection (Interseção de Conjuntos)

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

$setIntersection (Interseção de Conjuntos)

$setIntersection retorna os elementos presentes em cada array de entrada, com duplicatas removidas. Usos típicos: encontrar interesses compartilhados entre um usuário e amigos, ou os produtos comuns sob várias condições de filtro. Aceita dois ou mais arrays, e elementos null são ignorados. O resultado segue a semântica de conjunto sem ordem garantida, completando a família de operadores de conjunto com $setUnion (união) e $setDifference (diferença).

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

📝 Sintaxe

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

⚙️ Parâmetros

arrayPelo menos duas matrizes cujos elementos comuns são retornados.

Retorno:Uma matriz sem duplicatas de elementos presentes em todas as matrizes de entrada

▶ Exemplo

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

// $setIntersection: tags de interesse compartilhadas
db.users.aggregate([
  { $project: {
      common: { $setIntersection: ['$myTags', '$friendTags'] }
  } }
])

Saída:

{ '_id': 1, 'common': [ 'mongo', 'db' ] }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QO resultado é deduplicado?
ASim, a interseção deduplica por semântica de conjunto.
QVários arrays são suportados?
ASim — apenas elementos presentes em todos os arrays aparecem no resultado.
QA ordem do resultado é garantida?
ANão, nunca dependa da ordem.
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%