MongoDB change stream实战

[复制链接]
发表于 2025-12-12 11:51:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
什么是 Chang Stream

Change Stream指数据的厘革事故流,MongoDB从3.6版本开始提供订阅数据变动的功能。

Change Stream 是 MongoDB 用于实现变动追踪的办理方案,雷同于关系数据库的触发器,但原理不完全雷同:


Change Stream 的实现原理

Change Stream 是基于 oplog 实现的,提供推送及时增量的推送功能。它在 oplog 上开启一个 tailable cursor 来追踪全部复制集上的变动操纵,终极调用应用中界说的回调函数。

被追踪的变动事故重要包罗:


      
  • insert/update/delete:插入、更新、删除;  
  • drop:聚集被删除;  
  • rename:聚集被重定名;  
  • dropDatabase:数据库被删除;  
  • invalidate:drop/rename/dropDatabase 将导致 invalidate 被触发, 并关闭 change stream;

假如只对某些范例的变动事故感爱好,可以使用使用聚合管道的过滤步调过滤事故:

  1. var cs = db.user.watch([{
  2.     $match:{operationType:{$in:["insert","delete"]}}
  3. }])
复制代码
Change Stream会接纳 "readConcern:ma

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表