Description
The cursor.explain() output includes a field called "coveredIndex":
> db.zips.find({city: "NEW YORK"}).explain()
|
{
|
"cursor" : "BtreeCursor city_1",
|
"isMultiKey" : false,
|
"n" : 40,
|
"nscannedObjects" : 40,
|
"nscanned" : 40,
|
"nscannedObjectsAllPlans" : 40,
|
"nscannedAllPlans" : 40,
|
"scanAndOrder" : false,
|
"indexOnly" : false,
|
"nYields" : 0,
|
"nChunkSkips" : 0,
|
"millis" : 0,
|
"indexBounds" : {
|
"city" : [
|
[
|
"NEW YORK",
|
"NEW YORK"
|
]
|
]
|
},
|
"server" : "localhost:27017"
|
}
|
For the equivalent field, aggregation explain uses the name "coveredIndex":
db.runCommand({ aggregate: "zips", explain: true, pipeline: [ {$match: {city: "NEW YORK"}} ] })
|
{
|
"stages" : [
|
{
|
"$cursor" : {
|
"query" : {
|
"city" : "NEW YORK"
|
},
|
"coveredIndex" : false,
|
"cursorType" : "BtreeCursor city_1"
|
}
|
}
|
],
|
"ok" : 1
|
}
|
Let's unify our terminology by changing explain for aggregation to "indexOnly".