$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
部分,尽管查询的其他部分如果适用可以使用索引。
附加示例
有关查询数组的更多示例,请参阅
有关查询的更多示例,请参阅 查询文档。