【问题标题】:findOneAndUpdate in mongodb return only updated valuesmongodb 中的 findOneAndUpdate 只返回更新的值
【发布时间】:2019-02-10 13:55:50
【问题描述】:

我必须为我的应用程序(MEAN-Stack)创建一个日志。我需要知道,哪个用户更改了客户文档中的字段以及他何时更改。知道它是哪个用户以及何时是没有问题的。但我希望我的日志尽可能“干净”,所以我只想写下更改的值。

让我们举个例子:

customer : {
    name: Customer Ltd.
    address: FooStreet 11
    zip: 21412
    country: Germany
}

用户现在使用此功能更改 zip(req.body.customer 包括整个客户文档,而不仅仅是更改的字段)

const customer = await Customer.findOneAndUpdate({ _id: req.body.id }, { $set: req.body.customer }, { new: true });

是否有可能从 findOneAndUpdate() 获取更改的字段,或者有更好的方法来解决我想要的问题?

任何帮助将不胜感激!

【问题讨论】:

    标签: mongodb mongoose


    【解决方案1】:

    findOneAndUpdate 采用returnNewDocument 选项,返回更新后的文档而不是原始文档 -- https://docs.mongodb.com/manual/reference/method/db.collection.findOneAndUpdate/

    【讨论】:

      猜你喜欢
      • 2019-02-20
      • 2017-01-27
      • 2019-10-14
      • 1970-01-01
      • 2021-11-20
      • 2021-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多