如何将变量传递给Mongoose" findByIdAndUpdate"

时间:2016-07-27 21:31:34

标签: javascript mongodb variables mongoose

这是我的代码:

    app.post('/api/scheduleObject_Update', function(req, res) {



    var parameter = req.param('param');
    var value =  req.param('newvalue');
    var ID = "579918b5c25d87df3e3e69b6";
    console.log(parameter);


    Schedules.findByIdAndUpdate(ID, { parameter : value }, function(err, sched) {
        if (err) throw err;
        console.log(sched);
    });


}); 

当它运行时,Mongoose认为"参数"实际上,我希望将值存储在变量"参数中时调用我的shcema字段。"我怎样才能做到这一点?谢谢

1 个答案:

答案 0 :(得分:3)

如果要在对象中使用动态键,则必须先创建该对象,然后使用括号表示法

app.post('/api/scheduleObject_Update', function(req, res) {

    var parameter = req.param('param');
    var value =  req.param('newvalue');
    var ID = "579918b5c25d87df3e3e69b6";

    var obj = {};            // create object
    obj[parameter] = value;  // set value

    Schedules.findByIdAndUpdate(ID, obj, function(err, sched) {
        if (err) throw err;
        console.log(sched);
    });
});