假设我有一个没有任何集合的空数据库。然后我跑db.qqq.ensureIndex({a:1})
。
在db.qqq.find().explain()
I see BasicCursor
and的输出中"indexOnly" : false
。这似乎没问题。
db.qqq.find({a:"somevalue"}).explain()
输出BtreeCursor a_1
,但它也告诉"indexOnly" : false
。为什么会这样?
为什么给定的索引不足以让 mongodb 完成我的查询?
UPD:好的,所以我需要使用投影,因为我的索引中没有所有字段。但是我不明白——如果 Mongo 可以从索引中看到没有任何文档匹配查询,那么它为什么要扫描实际文档呢?