MongoDB聚合运算符:$bitOr

MongoDB聚合运算符:$bitOr

$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") }
  ]
转载请说明出处内容投诉
CSS教程_站长资源网 » MongoDB聚合运算符:$bitOr

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买