参考 > MongoDB CRUD操作 > MongoDB CRUD概念 > 尾光标
默认情况下,当客户端用尽游标中的所有结果时,MongoDB将自动关闭游标。然而,对于上限的集合,你可以使用Tailable光标的客户端排出的初始光标后的结果仍保持开放。可尾游标在概念上等同于tail
带有该-f
选项的
Unix命令(即“跟随”模式)。客户将新的其他文档插入加盖的集合后,可尾光标将继续检索文档。
在写量大但索引不实用的加盖集合上使用可尾游标。例如,MongoDB 复制使用可尾游标来尾随主节点的oplog。
注意
如果查询是在索引字段上,请不要使用可结尾的游标,而应使用常规游标。跟踪查询返回的索引字段的最后一个值。要检索新添加的文档,请使用查询条件中索引字段的最后一个值再次查询集合,如以下示例所示:
请考虑以下与可尾游标有关的行为:
有尾游标不使用索引,也不以自然顺序返回文档 。
由于可尾游标不使用索引,因此查询的初始扫描可能会很昂贵。但是,在最初耗尽光标之后,随后对新添加的文档的检索是廉价的。
如果以下情况之一,可调试的游标可能变为dead或无效:
一个死光标有一个ID 0
。
请参阅驱动程序文档以获取特定于驱动程序的方法以指定可尾光标。