Arrays 使用mgo.v2将新对象插入mongodb中文档的数组属性

Arrays 使用mgo.v2将新对象插入mongodb中文档的数组属性,arrays,json,mongodb,go,mgo,Arrays,Json,Mongodb,Go,Mgo,我正在使用mgo.v2 mongodb驱动程序来使用mongodb操作数据 "configs": [ { "configid":1, "id": 0, "widgets": [ { "position": 1, "type": 1, "class": "normal green",

我正在使用mgo.v2 mongodb驱动程序来使用mongodb操作数据

  "configs": [
        {
          "configid":1,
          "id": 0,
          "widgets": [
            {
              "position": 1,
              "type": 1,
              "class": "normal green",
              "metricid": 5
            },
            {
              "position": 2,
              "type": 1,
              "class": "normal blue",
              "metricid": 6
            }
         ]
      }
    ]
我使用上述json结构创建了
configs
集合

err2 := session.DB("db").C("configs").Insert(&config)
但是,在我的例子中,我想将新项目添加到这个配置ID的widgets数组中。这是一种像这样的物体

    {
      "position": 3,
      "type": 1,
      "class": "normal red",
      "metricid": 7
    }

在mongodb中,将此对象添加到特定configid中的widgets数组的最佳方法是什么?我使用的是mgo.v2 mongodb驱动程序

您可以使用update方法,使用操作符添加数组元素。例如:

session.DB("db").C("configs").Update(
    bson.M{"configid": 1}, 
    bson.M{"$push": bson.M{"widgets": widget}}
)