Docs 主页 → 开发应用程序 → MongoDB Manual
cursor.tailable()
定义
cursor.tailable()
重要
mongosh 方法
本页介绍了
mongosh
方法。这不是特定于语言的驱动程序(例如 Node.js)的文档。对于 MongoDB API 驱动程序,请参阅特定语言的MongoDB 驱动程序文档。
将游标标记为可追加,即使客户端耗尽所有结果,也使其保持打开状态。
仅适用于固定大小集合。对非固定大小集合使用
~cursor.tailable()
会返回错误。cursor.tailable()
使用如下语法:cursor.tailable( { awaitData : <boolean> } ) ~cursor.tailable()
有以下参数:范围类型说明awaitData
布尔可选。与
DBQuery.Option.tailable
一起使用。将游标设置为在没有可用数据时阻塞查询线程,并在设定的时间内等待数据,而不是立即不返回数据。仅当超时时间已到时,游标才不返回数据。默认情况下,如果在创建游标的命令上设置了
maxTimeMS
,则awaitData
的超时时间就是剩余时间。否则,默认超时时间为 1000 毫秒。在启用了
awaitData
的游标上运行getMore
时,您可以设置超时。默认值为
false
。返回: ~cursor.tailable()
附加到的游标。
行为
可追加游标对固定大小集合执行集合扫描。即使在到达集合末尾后,它仍会保持打开状态。当新数据插入到集合中时,应用程序可以继续迭代可追加游标。
如果awaitData
为true
,当游标到达固定大小集合的末尾时, mongod
会在超时间隔时间内阻塞查询线程,并等待新数据到达。当新数据插入固定大小集合时, mongod
会向被阻塞的线程发出信号,通知其唤醒并将下一个批次返回给客户端。
请参阅可追加游标。