使用mgo.v2将新对象插入mongodb文档中的Array Attribute

时间:2016-10-05 16:00:14

标签: arrays json mongodb go mgo

我正在使用mgo.v2 mongodb驱动程序与mongodb进行manupulation数据。我的数据结构如下json

  "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)

但是。就我而言,我希望将新项目添加到此配置文件的小部件数组中。这是一种像这样的对象,

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

将此对象添加到mongodb中的paricular configid中的小部件数组中的最佳方法是什么?我正在使用mgo.v2 mongodb驱动程序

1 个答案:

答案 0 :(得分:0)

您可以使用更新方法使用 $push 运算符添加数组元素。例如:

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