mongodb $projection阶段的$elemMatch是否使用索引?

6za6bjd0  于 2022-12-26  发布在  Go
关注(0)|答案(1)|浏览(224)

https://www.mongodb.com/docs/manual/reference/operator/projection/elemMatch/
如果该字段有索引,$elemMatch操作符是否会在$projection期间使用它?

oyjwcjzk

oyjwcjzk1#

否,$project阶段不会使用索引。
索引用于定位与查询匹配的文档,而无需读取整个集合。
$project stage用于对管道中已经存在的文档进行变异,因此它永远不会从集合中检索文档。
如果管道从$project阶段开始,查询执行器将在投影之前添加隐式集合扫描(实际上是{$match: {}})。

相关问题