$setEquals (Verificar Igualdade de Conjuntos)

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

$setEquals (Verificar Igualdade de Conjuntos)

$setEquals verifica se dois ou mais arrays são iguais como conjuntos, ignorando ordem e duplicatas. Usos típicos: verificar se duas listas de permissões coincidem ou comparar uma configuração com padrões. Aceita vários argumentos e retorna true apenas quando todos os arrays são iguais como conjuntos. Elementos null são ignorados, então arrays contendo null são comparados como se o null estivesse ausente. A ordem não importa: [1, 2] e [2, 1] são iguais.

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

📝 Sintaxe

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

⚙️ Parâmetros

arrayPelo menos duas matrizes a comparar.

Retorno:true quando todas as matrizes são iguais como conjunto, caso contrário false

▶ Exemplo

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

// $setEquals: duas listas de permissões coincidem
db.roles.aggregate([
  { $project: {
      samePerms: { $setEquals: ['$userPerms', '$defaultPerms'] }
  } }
])

Saída:

{ '_id': 1, 'samePerms': true }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QA ordem afeta o resultado?
ANão — a comparação de conjuntos ignora ordem.
QQuantos argumentos são suportados?
APelo menos dois; true apenas quando todos são iguais como conjuntos.
QE arrays contendo null?
AElementos null são ignorados, então o resultado coincide com uma versão sem eles.
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%