$bitNot (aggregation)
Nesta página
Definição
Novidades na versão 6.3.
Sintaxe
O operador $bitNot
tem a seguinte sintaxe:
{ $bitNot: <expression> }
The expression can be a single argument or an array with one int
or long
element.
Comportamento
Observação
Todos os números em mongosh
são duplos, não inteiros. Para especificar inteiros no mongosh
, use o NumberInt()
ou o construtor NumberLong()
. 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.
If the expression evalutates to null
, the operation returns null
.
Exemplo
O exemplo nesta página utiliza a collection switches
:
db.switches.insertMany( [ { _id: 0, a: NumberInt(0), b: NumberInt(127) }, { _id: 1, a: NumberInt(2), b: NumberInt(3) }, { _id: 2, a: NumberInt(3), b: NumberInt(5) } ] )
A seguinte agregação utiliza o operador $bitNot
na etapa $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 } ]