我在这里添加索引:
db.products.ensureIndex({current_features:1})
但是它似乎没有任何影响:
db.products.find({"current_features" : {"$exists" : true}}).explain()
{
"cursor" : "BasicCursor",
"nscanned" : 20995,
"nscannedObjects" : 20995,
"n" : 2,
"millis" : 94,
"nYields" : 0,
"nChunkSkips" : 0,
"isMultiKey" : false,
"indexOnly" : false,
"indexBounds" : {
}
}
答案 0 :(得分:2)
你要求每个具有指定字段的元组,mongo使用自2.0版以来的索引,来自doc:
在v2.0之前,$ exists无法使用索引。其他索引 字段仍然使用。
您应该使用sparse index代替。稀疏索引基本上只索引具有索引字段的文档。因此,您的查询将被预先计算,以确保最大速度。