在以下代码中:
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);
        });
      }
    });
};我想使用variable字段的值作为$set中变量的名称。我尝试使用以下代码$field.value (正如您在上面的代码中看到的),它不起作用。有什么建议如何解决这个问题吗?
谢谢!
发布于 2012-03-23 16:06:02
javascript中没有像php ${$var_name}那样的语法;
可以使用this[var_name]或window[var_name] (用于浏览器中的全局变量),但是除了eval之外,没有办法在当前作用域中获取局部变量,这肯定被认为是不好的。
考虑对变量“作用域/名称空间”使用散列(对象)。
https://stackoverflow.com/questions/9835764
复制相似问题