聆听另一个应用程序所做的更改

时间:2018-01-11 10:09:24

标签: mongoose

我有两个使用相同mongo数据库和相同型号/表格的应用程序。例如,两者都使用mongoose.model('foo', schema)

  • 第一个应用程序管理数据:在模型中添加,更改和删除条目 foo
  • 第二个应用程序只是监听数据:它使用 foo 的数据。

第二个应用程序需要知道 foo 的数据是否已更改。当我查看mongoose的文档时,我刚刚找到了saveremove的中间件。但是当我向模式添加post hook时,它们不会在第二个应用程序中触发。

当我在mongo数据库中搜索一般的更改挂钩时,我主要找到几年前的信息,并说MongoDB不支持触发器。另一种方法是监听oplog。但是关于oplog我在猫鼬页面上什么也没找到。

实现目标是通过mongoose监听另一个应用程序所做的更改,最佳做法是什么?

1 个答案:

答案 0 :(得分:2)

如果您的Mongo版本是3.6或更高版本,则可以使用Change Streams

收听收藏