我正在将审核系统实施到现有应用程序中,以便将对数据的每次更改以及有关该更改的各种元数据记录到一个单独的集合中。
我考虑过连接到oplog以异步编译审计跟踪,但是这给我的用例带来了各种问题和限制。 因此,现在的工作方式是,对于每个编写的文档,都会将新的“事件”文档插入相应的审核集合中。
这对于单个更新很好,但是使用更新查询和{multi:true}
一次可以对许多项目进行一些写入。这些可能会影响成千上万的文档。
我的问题是如何最好地为每次更新生成相应的事件?
我知道有很多选择,例如迭代代码或批量操作,但是我希望有一些聪明的运算符或回调方法可以在每次更新时自动产生插入。