MongoDB Documentation, Release 3.0.4 To list all indexes on all collections in a database, you can use the following operation in the mongo shell: List all Indexes for a Database MongoDB 3.0 deprecates direct access to the system.indexes collection. db.getCollectionNames().forEach( function (collection) { indexes = db[collection].getIndexes(); print("Indexes for " + collection + ":"); printjson(indexes); }); For MongoDB 3.0 deployments using the WiredTiger (page 90) storage engine, if you run db.getCollectionNames() and db.collection.getIndexes() from a version of the mongo shell before 3.0 or a version of the driver prior to 3.0 compatible version (page 808), db.getCollectionNames() and db.collection.getIndexes() will return no data, even if there are existing collections and indexes. For more information, see WiredTiger and Driver Version Compatibility (page 804). Query performance is a good general indicator of index use; however, for more precise insight into index use, Mon- goDB provides a number of tools that allow you to study query operations and observe index use for your database. Index Concepts (page 486) and Indexing Tutorials (page 517) for more information. Measure Index Use Synopsis See also: Operations db.people.find( { name: "John Doe", zipcode: { $gt: "63000" } } ).hint( { zipcode: 1 } ) db.collection.explain() provides information on the execution of other operations, such as db.collection.update() . See db.collection.explain() for details. Control Index Use with hint() To force MongoDB to use a particular index for a db.collection.find() operation, specify the index with the hint() method. Append the hint() method to the find() method. Consider the following example: To view the execution statistics for a specific index, append to the db.collection.find() the hint() method followed by cursor.explain() , e.g.: Return Query Plan with explain() Use the db.collection.explain() or the cursor.explain() method in executionStats mode to return statistics about the query process, including the index used, the number of documents scanned, and the time the query takes to process in milliseconds. Run db.collection.explain() or the cursor.explain() method in allPlansExecution mode to view partial execution statistics collected during plan selection. Chapter 8. Indexes 528 db.people.getIndexes()