ANNOUNCEMENT: Voyage AI joins MongoDB to power more accurate and trustworthy AI applications on Atlas.
Learn more
Menu Docs

$bitNot (aggregation)

Novidades na versão 6.3.

$bitNot

Returns the result of a bitwise not operation on a single int or long value.

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.

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.

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 }
]