Tailable Cursors

默认情况下,当 Client 端用尽游标中的所有结果时,MongoDB 将自动关闭游标。但是,对于capped collections,您可以使用* Tailable Cursor ,该 Tailable Cursor *在 Client 端用尽初始光标中的结果之后仍保持打开状态。可尾游标在概念上等效于具有-f选项的tail Unix 命令(即“跟随”模式)。Client 将新的其他文档插入上限的集合后,可尾光标将 continue 检索文档。

在写量大但索引不实用的加盖集合上使用可结尾的游标。例如,MongoDB replication使用可尾光标来尾随主要对象oplog

Note

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

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

请考虑以下有关可尾游标的行为:

游标的 ID 为0

有关特定于驱动程序的方法,请参见driver documentation来指定可尾光标。

首页