cursor.hint()
定义
cursor.hint(index)重要
mongosh 方法
本页文档了一个
mongosh方法。这**不是**语言特定驱动程序(如Node.js)的文档。有关 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。
在查询上调用此方法以覆盖 MongoDB 的默认索引选择和查询优化过程。使用
db.collection.getIndexes()返回集合上的当前索引列表。cursor.hint()方法具有以下参数参数类型描述index字符串或文档要"提示"或强制 MongoDB 在执行查询时使用的索引。指定索引可以是索引名称或索引规范文档。
您还可以指定
{ $natural : 1 }以强制查询执行正向集合扫描,或{ $natural : -1 }以执行反向集合扫描。
兼容性
此方法适用于以下环境中托管的部署
MongoDB Atlas:云中MongoDB部署的全托管服务
注意
此命令支持所有MongoDB Atlas集群。有关Atlas对所有命令的支持信息,请参阅不受支持的命令。
MongoDB Enterprise:基于订阅的自托管MongoDB版本
MongoDB Community:开源、免费使用且自托管的MongoDB版本
行为
示例
指定索引
以下示例使用age字段的索引返回名为users的集合中的所有文档。
db.users.find().hint( { age: 1 } )
您还可以使用索引名称指定索引。
db.users.find().hint( "age_1" )
强制集合扫描
您可以使用{ $natural : 1 }强制查询执行正向集合扫描。
db.users.find().hint( { $natural : 1 } )
您还可以使用{ $natural : -1 }强制查询执行反向集合扫描。
db.users.find().hint( { $natural : -1 } )