$bitsAnyClear 作为按位查询运算符

适用对象: MongoDB vCore

此命令用于匹配位掩码中指定的任何位位置都为空(即 0)的文档。 它可用于查询具有二进制数据或以整数存储的标志的文档。 此运算符能够根据特定位模式实现高效查询。

语法

{
  <field>: { $bitsAnyClear: <bitmask> }
}
  • <field>:要查询的文档中的字段。
  • <bitmask>:位掩码,其中每个位位置表示一个位置,用于检查它是否为空 (0)。

示例

假设有一个名为 stores 的集合,其中的文档与提供的 JSON 结构类似。 若要查找 totalStaff.fullTime 字段的任何前 3 位为空的商店,可以使用以下查询:

db.stores.find({
  "store.staff.totalStaff.fullTime": { $bitsAnyClear: 0b00000111 }
})

在此示例中,0b00000111 是表示前 3 位的位掩码。 查询将返回 totalStaff.fullTime 字段的任何前 3 位为空的文档。