监视MongoDB集合上的更新(数据库层上的更新后挂钩)



我的一个集合正在通过不同的微服务进行更新。更新是由僧侣猫鼬库完成的。

所以我想监视这个集合的更新。此外,我无法访问这些服务,因此我无法在每个服务上添加更新后钩子,但我可以访问数据库,我可以在其中做任何我想做的事情。我愿意使用任何ORM或库。

所以基本上 - 如果从任何 服务,我的监控(钩子或其他东西(代码应该被触发。

谢谢。

您可以使用 mongodb 更改流来侦听数据更改 查看示例应用程序 https://gist.github.com/riodw/74a839ab6964bceda8ff799d3ad33442

Mongodb docs https://docs.mongodb.com/v3.6/changeStreams/#change-streams

您可以尝试猫鼬的更改流: https://mongoosejs.com/docs/models.html#change-streams

我刚刚尝试的一个例子,它有效:

let Congress = require("../models/congress");
// change stream
Congress.watch().
on('change', data => console.log('change stream',data));
//

最新更新