6

我没有将变量设置为更新的关键,我的代码......

mongoose.model('members', Schema).update({ id: '0' }, {$push: {'this_key': 'value'}} , [], function (err, data){});

如果我使用

var this_key = 'test';

但是 this_key 不是“测试”它是“this_key”

    mongoose.model('members', Schema).update({ id: '0' }, {$push: {this_key: 'value'}} , [], function (err, data){});

我需要一些值 ext POST[] 来设置变量 this_key,

如何在 mongoose、Node.js 中按变量设置键?

4

1 回答 1

13

对象字段名称中的字符串字面量的语法在这里让你很苦恼。为了绕过它,制作一个中间对象并在不使用文字的情况下构造它:

var this_key = 'test';
var push = {};
push[this_key] = 'value';   // here, it will use the variable

mongoose.model('members', Schema).update(
   { id: '0' }, {$push: push} , [], function (err, data){});
于 2012-06-25T04:24:46.077 回答