Final question 5: explain plan

Hi!

I have created a small collection “cities” and executed these queries with the explain plan.
According to it, the correct answer’s winning solution is:
“winningPlan” : {
“stage” : “FETCH”,
“filter” : {
“$nor” : [
{
“sunnydays” : {
“$lt” : 200
}
}
]
},
“inputStage” : {
“stage” : “IXSCAN”,
“keyPattern” : {
“country” : 1
},
“indexName” : “country_1”,
“isMultiKey” : false,
“multiKeyPaths” : {
“country” :
},
“isUnique” : false,
“isSparse” : false,
“isPartial” : false,
“indexVersion” : 2,
“direction” : “forward”,
“indexBounds” : {
“country” : [
“[“USA”, “USA”]”
]
}
}
So, first searches for the sunnydays > 200, and after it uses the index of the country.

On the other hand the embedded query optimizer of mongoDB brings forward the first quierie’s $match
“winningPlan” : {
“stage” : “FETCH”,
“filter” : {
“country” : {
“$eq” : “USA”
}
},
“inputStage” : {
“stage” : “IXSCAN”,
“keyPattern” : {
“city” : 1
},

It isn’t clear for me why the 4th query is the best.