mongodb - 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 多个文档。
解决方案
推荐阅读
- google-maps - 汇总 Google 地方信息数据
- python - 是否可以覆盖 html 文件(folium 地图)并将其显示在 Heroku 上?
- node.js - 日志条目的node.js源文件?
- node.js - 尝试将 MERN 应用程序部署到 Now (zeit.co) 时出现“sh: react-scripts: command not found”错误
- javascript - 如何每张幻灯片显示 2 张图片?
- java - 在android应用程序中的活动之间共享类的单个实例?
- highcharts - Highcharts - 'mouseOut' 事件后的'setState'
- amazon-web-services - 放大 ssl 配置卡住
- javascript - 加载页面后延迟加载不起作用
- android - CollapsingToolbar - 如何禁用标题动画?