首页/数据/NoSQL 速查/变更流 change stream 监听
本包目录(322 条)
MongoDB99 条
Elasticsearch89 条ClickHouse56 条时序与列式28 条选型与架构50 条

变更流 change stream 监听

watch() 基于 oplog 输出数据变更事件(插入/更新/删除),支持断点续传(resume token),适合做数据同步与事件驱动。

NoSQL 速查数据更新于 2026-10-12
前提复制集或分片集群
语法db.coll.watch(pipeline, options)
事件operationType / documentKey / fullDocument / updateDescription

mongosh 示例

mongosh 示例
const cs = db.orders.watch([{ $match: { "operationType": "insert" } }])
cs.on("change", (ev) => printjson({ key: ev.documentKey, doc: ev.fullDocument }))
应用侧可用 resumeAfter 传入上次 token 断点续传;变更流受 oplog 保留窗口限制,长时间断连可能无法追赶。

易错点

  • 单节点(非复制集)无法使用变更流,本地验证要先起单节点复制集

数据来源与参考

  • MongoDB Manual: Change Streams
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌