简介
这是一个基于ChangeStream和WebAssemblly实现的外部MongoDB触发器
参考MongoDB官方的Trigger:
https://www.mongodb.com/docs/atlas/app-services/triggers/database-triggers/
为什么要创建这个项目?
MongoDB ChangeStream 有许多应用场景:
- 数据迁移/数据同步
- (微服务)变化监听
- 实时分析/实时通知
- 事件驱动架构组件
- 交互系统
要实现这些功能,我们需要编写以下代码,将代码部署到服务器并进行维护:
coll := get_coll(mongodb_uri)
cs := watch(coll)
loop {
event := cs.next()
handle(event) # 业务逻辑
}
我们需要一个服务,让用户能订阅自己感兴趣的 ChangeStream 事件,并编写一个函数来进行业务处理,即可实现上述的功能。这样,我们将节省很多时间(编写重复代码)和服务器成本(部署代码)。