douke6027
2016-10-05 16:00
浏览 82

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

I am using mgo.v2 mongodb driver to manupulation data with mongodb.I have data strucure as follow 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
            }
         ]
      }
    ]

I have created configs collection by using above json structure.

err2 := session.DB("db").C("configs").Insert(&config)

but.In my case, I want add new item to widgets array to this configid. it is kind of object like this,

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

What is the best way to adding this object into widgets array in paticular configid in mongodb? I am using mgo.v2 mongodb driver

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • doulv1760 2016-10-05 18:43
    已采纳

    You can use the update method to add the array element using the $push operator. For example:

    session.DB("db").C("configs").Update(
        bson.M{"configid": 1}, 
        bson.M{"$push": bson.M{"widgets": widget}}
    )
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题