Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

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 会忽略 hint()

  • 如果查询包含 $text 表达式,则不能使用 hint() 指定用于查询的索引。

  • 如果对隐藏索引或不存在的索引使用 hint(),操作将返回错误。

  • 时间序列集合上,只能使用索引名称而不能使用索引键模式来指定提示。

以下示例使用 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 } )

提示

另请参阅:

后退

cursor.hasNext

来年

cursor.isExhausted

在此页面上