MongoDB Tailable Cursors

简介:

MongoDB 有一个叫 Tailable Cursors的特性,它类似于tail -f 命令,你在一个Capped Collection上面执行查询操作,当操作完成后,你可以不关闭返回的数据Cursor,并持续地从中读出新加入的数据。

在高写入的Capped Collection上,索引不可用时,可使用Tailable Cursors。例如,MongoDB复制使用了Tailable Cursors来获取Primary的尾oplog日志。

考虑以下与Tailable Cursors相关的行为:

  • Tailable Cursors不使用索引,并以自然排序返回文档。

  • 因为Tailable Cursors不使用索引,查询的初始扫描非常耗性能;但是,游标初始化完后,随后获取到的新增加的文档是很快速的。

  • Tailable Cursors如果遇到以下情况之一将会僵死或无效:

    • 查询无匹配结果。

    • 游标在集合尾部返回文档,随后应用程序删除了该文档。

僵死的游标id为0。


DBQuery.Option.awaitData

在使用TailableCursor时,此参数会在数据读尽时先阻塞一小段时间后再读取一次并进行返回。

跟踪oplog的示例

1
2
3
4
5
6
use local
var  cursor = db.oplog.rs.find({ "op"  :  "u" ,  "ns"  :  "MyDB.Product" },{ "ts" : 1,  "o2._id" : 1}).addOption(DBQuery.Option.tailable).addOption(DBQuery.Option.awaitData);
while (cursor.hasNext()){
     var  doc = cursor.next();
     printjson(doc);
};


2.6版的游标方法:
cursor.addOption()
https://docs.mongodb.com/v2.6/reference/method/cursor.addOption/

3.2版的游标方法:
cursor.tailable()
https://docs.mongodb.com/manual/reference/method/cursor.tailable/













本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/1789038 ,如需转载请自行联系原作者




相关文章
|
SQL 分布式计算 监控
大数据最后一公里——2021年五大开源数据可视化BI方案对比
大数据在经过前几年的野蛮生长以后,开始与数据中台的概念一同向着更实际的方向落地。有人问,数据可视化是不是等同于数据大屏。数据大屏是数据可视化的一部分,其承载更多的是展示与监控的功能。 而真正对业务产生影响的,确是比较低调的自助数据可视化系统(商用的一般称之为BI系统),支撑着公司的指标体系,为业务的发展,企业的数字化驱动提供帮助。
2699 0
大数据最后一公里——2021年五大开源数据可视化BI方案对比
|
监控 Java 测试技术
实战:Springboot集成Sentinel实现流量控制、熔断降级、负载保护
实战:Springboot集成Sentinel实现流量控制、熔断降级、负载保护
|
6月前
|
人工智能 Linux API
【保姆级教程】本地/阿里云3步部署OpenClaw(小龙虾/Clawdbot)与Claude Code / loop:打造专属AI自主Agent
2026年以来,开源自主Agent框架OpenClaw(小龙虾/Clawdbot)凭借后台自动化运行、多场景任务处理的能力迅速走红,能实现盯守GitHub、自动回复邮件、甚至商务议价等多样化操作,而Claude Code升级后推出的`/loop`命令,更是让开发者无需复杂配置,一行指令就能打造轻量化自主Agent,相比传统OpenClaw部署,可玩性和便捷性大幅提升。本文将从OpenClaw的零基础全平台部署入手,详解阿里云/MacOS/Linux/Windows11的本地部署步骤、阿里云百炼API的配置方法,同时结合Claude Code的`/loop`命令,讲解AI自主Agent的搭建与实
4301 1
|
SQL Java 数据库连接
com.microsoft.sqlserver.jdbc.SQLServerException: 不支持此游标类型/并发组合
一 前后环境 1 windows2003、apache-tomcat-5.5.16、jdk1.5.0_06、sql20002 windows2008、apache-tomcat-6.
1795 0
|
6天前
|
人工智能 JSON API
全网刷屏的 Jev 模型正式开放!一手实战测评 + 保姆级教程
全网爆火的 Jev 模型是什么?有什么用?怎么使用?怎么接入 AI 编程工具?效果真的好么?傻子可懂的 Jev 保姆级实战教程 + 项目实战测评来啦
6221 8
|
4天前
|
人工智能 测试技术 API
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
Jev是TypeSafe AI推出的“系统一模型”,不生成文本,专做毫秒级结构化决策:Choice(多选)、Score(打分)、Noul(是非概率)。响应快193倍、成本低444倍,适合工单路由、内容审核、测试定级等高频判断场景。
1172 3
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
|
5天前
|
人工智能 并行计算 PyTorch
秋叶 ComfyUI 2026 整合包 v3.2 完整部署教程:Python 3.13 + Torch 2.13 全栈升级
秋叶aaaki ComfyUI 2026年8月整合包v3.2正式发布!全面升级Python 3.13.11、PyTorch 2.13.0+cu130及ComfyUI v0.30.2,原生支持MiniMax H3、Wan 2.2、Qwen-Image-2.1等2026主流音视频/图像模型,解压即用,无需环境配置。
702 4
|
18天前
|
人工智能 自然语言处理 安全
阿里云千问办公 QwenWork详细介绍:产品核心能力、典型场景、价格及常见问题解答
千问办公是阿里云推出的一站式AI办公平台,主打"不止于对话,更注重交付",依托通义千问旗舰大模型,用户一句话即可完成数据分析、PPT生成、视频剪辑等复杂任务,直接输出可用成果。产品深度打通钉钉生态与企业OA,覆盖桌面端、网页端,提供企业标准版198元/人/月等多档订阅方案,新用户注册即赠2000积分,适配工程师、HR、财务等多职业办公场景,成为能动手干活的"全能AI同事"。
3341 10

热门文章

最新文章