$bitXor (OU Exclusivo Bit a Bit)

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

$bitXor (OU Exclusivo Bit a Bit)

$bitXor executa um OU exclusivo bit a bit (XOR) sobre inteiros. Disponível desde o MongoDB 6.3, aceita um array de inteiros (ou um único número). O XOR produz 1 onde os bits diferem e 0 onde coincidem, sendo útil para checksums, inversão de bits e ofuscação leve, como aplicar XOR a um valor com uma chave. Qualquer argumento nulo ou ausente resulta em null; os operandos devem ser int32 ou int64. Observe que aplicar XOR duas vezes com o mesmo valor restaura o original, um uso clássico de sua reversibilidade.

CategoriaMatemática
Versão do MongoDB6.3+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $bitXor: [ <inteiro1>, <inteiro2>, ... ] }

⚙️ Parâmetros

inteiroInteiros int32 ou int64, ou expressões que resolvam para eles; pelo menos dois.

Retorno:O XOR bit a bit de todos os operandos; null quando null ou ausente

▶ Exemplo

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

// $bitXor: inverter os 8 bits menos significativos com 255
db.users.aggregate([
  { $project: {
      masked: { $bitXor: ['$score', 255] }
  } }
])

Saída:

{ '_id': 1, 'masked': 200 }
{ '_id': 2, 'masked': 155 }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual é a regra de $bitXor?
ABits iguais produzem 0 e bits diferentes produzem 1; por exemplo, 5 XOR 3 é 6.
QPara que serve o $bitXor?
AInversão de bits, checksums simples e ofuscação leve.
QPor que aplicar XOR duas vezes restaura o valor?
AO XOR é auto-inverso: x XOR k XOR k sempre resulta em x.
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%