这是我的代码:
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字段。"我怎样才能做到这一点?谢谢
答案 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);
});
});