本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
$bitsAnySet
Amazon DocumentDB 中的$bitsAnySet运算符用于查询字段中指定位中至少有一个位设置为 1 的文档。此运算符允许您对存储在字段中的值执行按位运算,从而可以高效查询和分析具有按位特征的数据。
参数
-
field:要应用按位运算的字段名称。 -
value:指定应检查哪些位的数字位掩码,或要检查的位位置列表。数字位掩码可以是二进制 (0b...)、十进制、十六进制 (0x...)、八进制 (0o...) 或二进制 () 形式。BinData在位位置列表中,最低有效位的位置为 0。
示例(MongoDB 外壳)
以下示例演示如何使用$bitsAnySet运算符查找flags字段中至少设置了一个位的文档。
创建示例文档
db.collection.insertMany([ { _id: 1, flags: 0b1010 }, { _id: 2, flags: 0b1100 }, { _id: 3, flags: 0b0011 }, { _id: 4, flags: 0b0100 } ]);
查询示例
db.collection.find({ flags: { $bitsAnySet: 0b1010 } })
输出
{ "_id" : 1, "flags" : 10 }
{ "_id" : 2, "flags" : 12 }
{ "_id" : 3, "flags" : 3 }
该查询返回的文档中,该flags字段中至少设置了0b1010位掩码中指定的一个位。
代码示例
要查看使用该$bitsAnySet命令的代码示例,请选择要使用的语言的选项卡: