首页 > 解决方案 > MongoDB:_id 上的默认索引可以用于覆盖查询吗?

问题描述

如果我按文档查询集合'_id

db.coll.find({_id: someId})

使用默认索引就足够了吗_id

db.coll.find({_id: someId}, {_id: 1})

使它成为一个涵盖的查询?

注意:_id's 是插入文档时由 mongo 生成的 ObjectId。

我尝试在 mongo shell 中使用 .explain() 方法将已知的覆盖查询与仅使用 .explain() 的查询进行比较_id。已知的覆盖查询具有totalDocsExamined: 0而仅使用默认索引导致totalDocsExamined: 1. 两个集合都包含 10 多个文档。

标签: mongodbindexing

解决方案


推荐阅读