Definición
Nuevo en la versión 6.3.
Sintaxis
El operador $bitNot tiene la siguiente sintaxis:
{ $bitNot: <expression> }
La expresión puede ser un solo argumento o una matriz con un elemento int o long.
Comportamiento
Nota
Todos los números en mongosh son dobles, no enteros. Para especificar enteros en,mongosh utilice Int32() el Long() constructor o. Para obtener más información, consulte Int32 o Long.
Para saber cómo su controlador MongoDB maneja los valores numéricos, consulte la documentación de su controlador.
Si alguno de los argumentos de la matriz es de un tipo de datos diferente, como una cadena, un doble o un decimal, MongoDB devuelve un error.
Si la expresión evalúa como null, la operación devuelve null.
Ejemplo
El ejemplo de esta página utiliza la colección 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) } ] )
La siguiente agregación utiliza el operador $bitNot en el
$project escenario:
db.switches.aggregate( [ { $project: { result: { $bitNot: "$a" } } } ])
La operación devuelve los siguientes resultados:
[ { _id: 0, result: -1 }, { _id: 1, result: -3 }, { _id: 2, result: -4 } ]