每当我更新一个数字并将其存储在更新的文档中时,我都希望计算两个数字之间的平均值。
我会选择使用save()
中间件,但我的更新需要使用findByIdAndUpdate
或findOneAndUpdate
这是我的更新路线:
const updateModel = (req, res, next) => {
let update = flatten(req.body, {safe: true});
Model.findById(req.params.id)
.then(doc=> {
console.log(update)
if(userCanAlter(doc, req.user, res)) {
Model.findOneAndUpdate({_id: doc._id}, update, {new: true})
.then(udoc=> {
res.send(udoc)
})
}
})
}
我想通过每次更新doc.budget.middleBound
和doc.budget.upperBound
之间的平均值来更新文档路径doc.budget.lowerBound
。
如果我的路线上有逻辑,我是否必须实施一些难看的方法?还是有一种方法可以在猫鼬中间件中访问更新的文档并计算值?