我的收藏之一正在通过不同的微服务进行更新。更新由 monk 完成。 或 mongoose 库。
所以我想监控这个集合的更新。另外,我无权访问这些服务,因此我无法在每个服务上添加更新后 Hook ,但我可以访问数据库,在那里我可以做任何我想做的事情。我愿意使用任何 ORM 或库。
So basically - if any update query is triggered from any of the services, my monitoring (hook or something) code should be triggered.
谢谢。
最佳答案
您可以使用 mongodb Change Streams 监听数据更改,查看示例应用 https://gist.github.com/riodw/74a839ab6964bceda8ff799d3ad33442
Mongodb 文档 https://docs.mongodb.com/v3.6/changeStreams/#change-streams
您可以尝试来自 mongoose 的更改流: 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));
//
关于node.js - 监视 MongoDB 集合上的更新(数据库层上的更新后 Hook ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59764355/