【问题标题】:Mongoose Model.update with dynamic field nameMongoose Model.update 与动态字段名称
【发布时间】:2016-11-27 15:46:30
【问题描述】:

我正在尝试将字段名称作为变量传递,这是我尝试过的,但它不起作用:

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 是我要更新的值

【问题讨论】:

    标签: javascript node.js mongodb mongoose


    【解决方案1】:

    你不需要 update 放在大括号中,因为它已经是一个对象。试试:

    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);
        }
    )
    

    【讨论】:

    • 非常感谢 Arun Ghosh 的快速回答 :-)
    • @user3711521 :如果有用,请不要忘记将这个答案设为已解决。我们需要为我们的朋友 Arun Ghosh 赢得更多声誉
    • 我没有忘记,我在等待15分钟的时间接受答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-15
    • 2014-09-22
    • 2014-03-09
    • 2013-11-14
    • 1970-01-01
    • 2013-02-12
    相关资源
    最近更新 更多