The $hint operator forces the query optimizer to use a specific index to fulfill the query. Specify the index either by the index name or by document.

Use $hint for testing query performance and indexing strategies. The mongo shell provides a helper method hint() for the $hint operator.

Consider the following operation:

db.users.find().hint( { age: 1 } )

This operation returns all documents in the collection named users using the index on the age field.

You can also specify a hint using either of the following forms:

db.users.find()._addSpecial( "$hint", { age : 1 } )
db.users.find( { $query: {}, $hint: { age : 1 } } )


When the query specifies the $hint in the following form:

db.users.find( { $query: {}, $hint: { age : 1 } } )

Then, in order to include the $explain option, you must add the $explain option to the document, as in the following:

db.users.find( { $query: {}, $hint: { age : 1 }, $explain: 1 } )

When an index filter exists for the query shape, MongoDB ignores the $hint. The explain.filterSet field of the explain() output indicates whether MongoDB applied an index filter for the query.

←   $explain $maxScan  →