Definição
Novidades na versão 6.3.
Sintaxe
O operador $bitNot tem a seguinte sintaxe:
{ $bitNot: <expression> } 
A expressão pode ser um único argumento ou uma array com um elemento int ou long .
Comportamento
Observação
Todos os números em mongosh são duplos, não inteiros. Para especificar inteiros em mongosh, use o Int32() ou o construtor Long() . Para saber mais, consulte Int32 ou Long.
Para saber como seu driver MongoDB lida com valores numéricos, consulte a documentação do driver.
Se algum argumento na array for de um tipo de dados diferente, como uma string, duplo ou decimal, o MongoDB retornará um erro.
Se a expressão avaliar para null, a operação retornará null.
Exemplo
O exemplo nesta página utiliza a collection switches :
db.switches.insertMany( [     { _id: 0, a: Int32(0), b: Int32(127) },     { _id: 1, a: Int32(2), b: Int32(3) },     { _id: 2, a: Int32(3), b: Int32(5) } ] ) 
A seguinte agregação utiliza o operador $bitNot no estágio $project :
db.switches.aggregate( [   {     $project: {       result: {         $bitNot: "$a"       }     }   } ]) 
A operação retorna os seguintes resultados:
  [     { _id: 0, result: -1 },     { _id: 1, result: -3 },     { _id: 2, result: -4 }   ]