我有一个我想要更新的集合。该字段是以编程方式提供的,因此我想做类似的事情:
var update_string = 'coordinates.lat';
var update = function(value, id, update_string) {
Collection.update({_id:id}, {$set:{update_string:value}})
}
然而,这不起作用,只是设置" update_string"在Collection中具有_id {{id}}的对象中具有值{{value}}。我也试过var update_string = "'coordinates.lat'";
无济于事。
我如何做到这一点?感谢。
答案 0 :(得分:4)
您需要在更新$set
参数中正确设置密钥:
var update = function(value, id, update_string) {
var update_query = {};
update_query[update_string] = value
Collection.update({_id:id}, {$set:update_query})
}
基本上没有上述修改,如果您使用{update_string:value}
,则设置update_string
的值,而不是coordinates.lat
。