每次更新另一个值时如何更新单个值?

时间:2019-09-01 23:12:00

标签: javascript node.js mongodb mongoose

每当我更新一个数字并将其存储在更新的文档中时,我都希望计算两个数字之间的平均值。

我会选择使用save()中间件,但我的更新需要使用findByIdAndUpdatefindOneAndUpdate

这是我的更新路线:

    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.middleBounddoc.budget.upperBound之间的平均值来更新文档路径doc.budget.lowerBound

如果我的路线上有逻辑,我是否必须实施一些难看的方法?还是有一种方法可以在猫鼬中间件中访问更新的文档并计算值?

0 个答案:

没有答案