The best indexes for your application are based on a number of factors, including the kinds of queries you expect, the ratio of reads to writes, and the amount of free memory on your system.
When developing your indexing strategy you should have a deep understanding of:
The best overall strategy for designing indexes is to profile a variety of index configurations with data sets similar to the ones you’ll be running in production to see which configurations perform best.
MongoDB can only use one index to support any given operation. However, each clause of an $or query may use a different index.
The following documents introduce indexing strategies:
For a conceptual introduction to indexes in MongoDB see Indexing Overview.