Steps to reproduce:
db.places.drop()
db.places.ensureIndex({loc: "2dsphere"})
db.places.insert({loc: {type: "Point", coordinates: [10, 10] }, name: "restaurant"})
db.places.find({loc: {"$geoWithin": {"$geometry": {type: "Polygon", coordinates: [ [ [5, 5], [12, 8], [10, 15], [5, 5] ] ] } } } }).explain()
Returns:
{
"cursor" : "S2Cursor",
"isMultiKey" : true,
"n" : 1,
"nscannedObjects" : 1,
"nscanned" : 2,
"nscannedObjectsAllPlans" : 1,
"nscannedAllPlans" : 2,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 0,
"nChunkSkips" : 0,
"millis" : 1,
"indexBounds" : {
},
"nscanned" : 2,
"matchTested" : NumberLong(1),
"geoTested" : NumberLong(1),
"cellsInCover" : NumberLong(13),
"server" : "capslock.local:27017"
}
Do they have different meanings? Or should one be removed?
It's also strange that the value is 2, when I only have 1 document in the collection. Is that a property of the 2dsphere index? Or multi-key?
Lastly, why do matchTested, geoTested, cellsInCover output their values as NumberLong(..) values?
- related to
-
SERVER-10448 Revamp explain() formatting
-
- Closed
-