以编程方式更新Mongo和Meteor中的字段

时间:2014-03-11 16:48:06

标签: mongodb meteor

我有一个我想要更新的集合。该字段是以编程方式提供的,因此我想做类似的事情:

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'";无济于事。

我如何做到这一点?感谢。

1 个答案:

答案 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