我必须为我的应用程序(MEAN-Stack)创建一个日志。我需要知道,哪个用户更改了客户文档中的字段以及何时执行此操作。知道用户是谁,什么时候知道是没有问题的。但是我希望我的日志尽可能“干净”,因此我只想写下更改的值。
让我们举个例子:
customer : {
name: Customer Ltd.
address: FooStreet 11
zip: 21412
country: Germany
}
用户现在可以使用此功能更改邮政编码(req.body.customer
包括整个客户文档,而不仅仅是更改的字段)
const customer = await Customer.findOneAndUpdate({ _id: req.body.id }, { $set: req.body.customer }, { new: true });
是否有可能从findOneAndUpdate()
获取更改的字段,或者有更好的方法来解决我想要的问题?
任何帮助将不胜感激!
答案 0 :(得分:1)
findOneAndUpdate
采用returnNewDocument
选项,该选项返回更新的文档而不是原始文档-https://docs.mongodb.com/manual/reference/method/db.collection.findOneAndUpdate/