文章目录
$bitOr
聚合运算符返回整数或长整数数组元素按位或的结果。
语法
{$bitOr:{[<expression1>,<expression2>,...]}
用法
- 如果操作数包括整型和长整型值,MongoDB会对计算出的整数结果进行符号扩展,并返回长整型值,否则返回相应值类型的结果。
- 如果参数数组元素是不同的数据类型,比如:字符串、双精度数或小数,将返回错误。
- 如果参数是空数组,则返回
NumberInt(0)
- 如果任何操作数为
null
,则返回null
举例
使用下面的命令创建
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)}])
整数按位与
下面的聚合操作在
$project
阶段中使用
$bitOr
对两个整数进行按位与:
db.switches.aggregate([{$project:{result:{$bitOr:["$a","$b"]}}}])
操作返回下面的结果:
[{_id:0,result:127},{_id:1,result:3},{_id:2,result:7}]
整型与长整型按位与
下面的聚合操作在
$project
阶段中使用
$bitOr
对一个整数和长整数进行按位与:
db.switches.aggregate([{$project:{result:{$bitOr:["$a",NumberLong("63")]}}}])
操作返回的结果如下:
[{_id:0,result:Long("0")},{_id:1,result:Long("2")},{_id:2,result:Long("3")}]
本文转载自: https://blog.csdn.net/superatom01/article/details/136288375
版权归原作者 原子星 所有, 如有侵权,请联系我们删除。
版权归原作者 原子星 所有, 如有侵权,请联系我们删除。