定义
6.3版本新增。
语法
$bitNot操作符的语法如下:
{ $bitNot: <expression> }
表达式可以是单个参数,也可以是具有一个int或long元素的数组。
行为
注意
mongosh中的所有数字都是双精度浮点数,而不是整数。 要在mongosh中指定整数,请使用Int32()或Long()构造函数。 要学习;了解更多信息,请参阅Int 32或Long。
要了解 MongoDB 驱动程序如何处理数值,请参阅驱动程序文档。
如果数组中的任何参数属于不同的数据类型,例如字符串、双精度浮点数或十进制数,MongoDB 将返回错误。
如果表达式的计算结果为null ,则操作返回null 。
例子
本页上的示例使用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) } ] )
以下聚合在$project阶段使用$bitNot操作符:
db.switches.aggregate( [ { $project: { result: { $bitNot: "$a" } } } ])
操作返回以下结果:
[ { _id: 0, result: -1 }, { _id: 1, result: -3 }, { _id: 2, result: -4 } ]