Docs 菜单
Docs 主页
/
MongoDB Manual
/ /

可追加游标

在此页面上

  • 用例
  • 开始体验
  • 行为

默认,当客户端耗尽游标中的所有结果时, MongoDB会自动关闭游标。 但是,对于固定大小集合,您可以使用可可追加游标,该游标在客户端耗尽初始游标中的结果后仍保持打开状态。 可追加游标在概念上等同于带有-f选项(“follow”模式)的 tail Unix 命令。 客户端将其他文档插入固定大小固定大小集合后,可可追加游标会继续检索文档。

在具有高写入量且索引不适用的固定大小集合上使用可追加游标。例如,MongoDB 复制使用可追加游标来跟踪主节点的 oplog

注意

如果在索引字段上进行查询,则应使用常规游标,而不是可追加游标。跟踪查询返回的索引字段的最后一个值。要检索新添加的文档,请在查询条件中使用索引字段的最后一个值,再次查询该集合。例如:

db.<collection>.find( { indexedField: { $gt: <lastvalue> } } )

要在 mongosh中创建可追加游标,请参阅cursor.tailable()

如需查看驱动程序的可追加游标方法,请参阅驱动程序文档

考虑以下与可追加游标相关的行为:

  • 可追加游标不使用索引。 它们按自然顺序返回文件。

  • 由于可追加游标不使用索引,因此,查询的初始扫描成本可能较高。在最初耗尽游标后,以后检索新添加的文档的成本较低。

  • 如果当前位置的数据被新数据覆盖,可追加游标可能会失效。例如,如果数据插入速度快于游标迭代速度,则可能会发生这种情况。

后退

查询计划