文档菜单
文档首页
/
MongoDB 手册
/ / /

$bitXor (聚合)

本页内容

  • 定义
  • 语法
  • 行为
  • 示例
  • 了解更多

版本中6.3.

$bitXor

返回一个整型(int)和长整型(long)值的数组进行按位异或(xor)运算的结果。

$bitXor运算符的语法如下

{ $bitXor: [ <expression1>, <expression2>, ... ] }

如果操作数包含整数和长整型值,MongoDB会将计算出的整数结果符号扩展并返回长整型值。否则,如果操作数只包含整数或只包含长整型,MongoDB返回对应值类型的结果。

注意

所有数字在mongosh中的数据类型是双精度浮点数,而不是整数。要在 mongosh 中指定整数,请使用 NumberInt()NumberLong() 构造函数。要了解更多信息,请参阅 Int32Long

要了解您的 MongoDB 驱动程序如何处理数值,请参阅您 驱动程序的文档。

如果数组中的任何参数的数据类型不同,例如字符串、双精度浮点数或十进制数,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 阶段

db.switches.aggregate( [
{
$project: {
result: {
$bitXor: ["$a", "$b"]
}
}
}
])

操作返回以下结果

[
{ _id: 0, result: 127 },
{ _id: 1, result: 1 },
{ _id: 2, result: 6 }
]
  • 聚合运算符

  • $bit

返回上一页

$bitOr