在下面的代码中:
DbModels.prototype.updateById = function(_collection, id, field, value, callback) {
this.getCollection(_collection, function(error, sel_collection) {
if( error ) callback(error)
else {
sel_collection.update({_id: ObjectID.createFromHexString(id)}, {$set: {$[field].value:value}}, function(error, updated) {
if( error ) callback(error)
else callback(null, updated);
});
}
});
};
我想使用变量字段的值作为$ set中变量的名称。我尝试使用以下代码$ [field] .value(正如您在上面的代码中看到的),这不起作用。有任何建议如何解决这个问题?
谢谢!
答案 0 :(得分:6)
javascript中没有像php ${$var_name}
;
可以使用this[var_name]
或window[var_name]
(对于浏览器中的全局变量),但是除了eval
之外,没有办法在当前范围内获取局部变量,这肯定被认为是坏的。 / p>
考虑对变量“scoping / namespacing”使用散列(对象)。