$size
$size
$size
运算符将任何数组与参数指定的元素数相匹配。
兼容性
可以使用 $size
查找托管在以下环境中的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
以以下示例为例:
db.collection.find( { field: { $size: 2 } } );
此查询返回 collection
中 field
为包含 2 个元素的数组的所有文档。例如,上述表达式将返回 { field: [ red, green ] }
和 { field: [ apple,
lime ] }
,但不会返回 { field: fruit }
或 { field: [
orange, lemon, grapefruit ] }
。要匹配数组中只有一个元素的字段,请使用 $size
并将其值设为 1,如下所示:
db.collection.find( { field: { $size: 1 } } );
$size
不接受值范围。要根据具有不同元素数量的字段选择文档,创建一个计数器字段,该计数器字段会在您向字段添加元素时递增。
查询不能对查询的 $size
部分使用索引,但查询的其他部分可以使用索引(如果适用)。
其他示例
有关查询数组的其他示例,请参阅:
有关查询的其他示例,请参阅查询文档。