As at MongoDB 2.2:
Every query, including update operations, use one and only one index. The query optimizer selects the index empirically by occasionally running alternate query plans and by selecting the plan with the best response time for each query type.
An exception to the above rule is $or
queries; each clause is executed in parallel and can use a separate index.
For more information see: