cursor.hint()
On this page
Definition
cursor.hint(index)
Important
mongo Shell Method
This page documents the
mongo
shell method, and does not refer to the MongoDB Node.js driver (or any other driver) method. For corresponding MongoDB driver API, refer to your specific MongoDB driver documentation instead.Call this method on a query to override MongoDB's default index selection and query optimization process. Use
db.collection.getIndexes()
to return the list of current indexes on a collection.The
cursor.hint()
method has the following parameter:ParameterTypeDescriptionindex
string or documentThe index to "hint" or force MongoDB to use when performing the query. Specify the index either by the index name or by the index specification document.
You can also specify
{ $natural : 1 }
to force the query to perform a forwards collection scan, or{ $natural : -1 }
for a reverse collection scan.
Behavior
When an index filter exists for the query shape, MongoDB ignores the
hint()
.You cannot use
hint()
if the query includes a$text
query expression.You cannot use
hint()
on a hidden index.
Examples
Specify an Index
The following example returns all documents in the collection named
users
using the index on the age
field.
db.users.find().hint( { age: 1 } )
You can also specify the index using the index name:
db.users.find().hint( "age_1" )
Force Collection Scans
You can specify { $natural : 1 }
to force the query to perform a forwards
collection scan:
db.users.find().hint( { $natural : 1 } )
You can also specify { $natural : -1 }
to force the query to perform a
reverse collection scan:
db.users.find().hint( { $natural : -1 } )