There is a sample http://docs.mongodb.org/manual/tutorial/create-indexes-to-support-queries/#indexes-covered-queries
any of the indexed fields are fields in subdocuments. To index fields in subdocuments, use dot notation. For example, consider a collection users with documents of the following form: { _id: 1, user: { login: "tester" } } The collection has the following indexes:
{ user: 1 }
{ "user.login": 1 }
The { user: 1 } index covers the following query:
db.users.find( { user: { login: "tester" } }, { user: 1, _id: 0 } )
However, the { "user.login": 1 } index does not cover the following query:
db.users.find( { "user.login": "tester" }, { "user.login": 1, _id: 0 } )
The query, however, does use the { "user.login": 1 } index to find matching documents.
I want to know the root-cause why the { "user.login": 1 } index does not cover the query.
Thank you