【发布时间】:2012-03-23 08:00:09
【问题描述】:
在下面的代码中:
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 (如您在上面的代码中所见),它不起作用。有什么建议可以解决这个问题吗?
谢谢!
【问题讨论】:
-
答案很简单:不要在需要像动态变量名这样的 hack 的地方创建凌乱的代码。
-
这种方法到底有什么问题?我打算做的是传递需要更新的属性,然后(动态)只更新更改的属性。
标签: javascript node.js mongodb