使用动态字段名称更新Mongoose Model.update

Mongoose Model.update with dynamic field name

本文关键字:更新 Mongoose Model update 动态 字段      更新时间:2023-09-26

我正试图将字段名作为变量传递,以下是我尝试过的,但不起作用:

var update={};
update[req.body.field]=req.body.value;
Model.update(
    {"email":req.user.email},
    {$set:{update}},
    function (err,success) {
        if(err) return handleError(err);
    }
)

req.body.field包含模型模式中定义的字段的名称,req.body.value是我想要用更新的值

不需要更新就可以放在大括号中,因为它已经是一个对象了。尝试:

var update={};
update[req.body.field]=req.body.value;
Model.update(
    {"email":req.user.email},
    {$set:update},
    function (err,success) {
        if(err) return handleError(err);
    }
)