$bitNot (NÃO Bit a Bit)
Última atualização: 2026-10-09
$bitNot (NÃO Bit a Bit)
$bitNot executa um NÃO bit a bit (complemento de dois) sobre um único inteiro — o único operador bit a bit que recebe um operando. Disponível desde o MongoDB 6.3, o resultado é igual a -x-1, então NOT 5 resulta em -6. É usado para construir máscaras complementares e negação geral em matemática de bits. Um argumento nulo ou ausente resulta em null; o operando deve ser int32 ou int64. Observe a inversão de sinal: isso é complemento de dois, não uma simples inversão da magnitude.
| Categoria | Matemática |
|---|---|
| Versão do MongoDB | 6.3+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $bitNot: <expressão-inteira> }
⚙️ Parâmetros
| inteiro | Um inteiro int32 ou int64, ou uma expressão que resolva para um. |
|---|
Retorno:O NOT bit a bit da entrada (-x-1); null quando null ou ausente
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $bitNot: inverter bits de permissão para construir uma máscara de exclusão
db.users.aggregate([
{ $project: {
denied: { $bitNot: '$allowedBits' }
} }
])
Saída:
{ '_id': 1, 'denied': -6 }
{ '_id': 2, 'denied': -1 }
📌 Notas
- O resultado é o NÃO em complemento de dois, igual a -x-1
- Aceita exatamente um operando
- Apenas int32 e int64 são suportados
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QQuanto é $bitNot(5)?
AÉ -6, pois o NÃO em complemento de dois segue -x-1.
QPor que $bitNot produz resultados negativos?
AO NÃO em complemento de dois inverte o bit mais significativo, mudando o sinal.
QOnde o $bitNot é útil?
ANa construção de máscaras complementares ou na composição com outros operadores bit a bit.