Express 检查mongoose'中的字段是否已修改;函数findOneAndUpdate的s post钩子

Express 检查mongoose'中的字段是否已修改;函数findOneAndUpdate的s post钩子,express,mongoose,middleware,Express,Mongoose,Middleware,在控制器中,我用findOneAndUpdate递增一个字段。增量不一定总是执行,这取决于是否满足更新查询的条件。 如果该字段已增加至tho,则另一个模型也应更新。所以,我想用: schema.post('findOneAndUpdate', function(err) { pseudo-code: if (field is incremented) anotherModel.update() }); 问题是,我似乎无法确定字段是否已被修改。 自引用(Self-re

在控制器中,我用findOneAndUpdate递增一个字段。增量不一定总是执行,这取决于是否满足更新查询的条件。 如果该字段已增加至tho,则另一个模型也应更新。所以,我想用:

schema.post('findOneAndUpdate', function(err) {
    pseudo-code:
    if (field is incremented)
      anotherModel.update()
});
问题是,我似乎无法确定字段是否已被修改。 自引用(Self-reference)指向一个相当大的有趣对象(与“save”的中间件函数不同),因此我看不到有多少其他选项来确定字段是否被修改


有什么想法吗?

传递给
findOneAndUpdate
回调的参数是要更新的匹配文档,而不是节点回调模式中常见的错误。在回调中,
这个
是从
findOneAndUpdate
返回的查询对象

schema.post('findOneAndUpdate',函数(doc){…})

还请注意,如果希望更新的文档而不是与查询匹配的原始文档,则必须在查询中指定
new
选项:

findOneAndUpdate(查询,更新,{new:true})