2016-10-05 11 views
3

Я использую mgo.v2 MongoDB драйвера manupulation данных с mongodb.I имеет strucure данных, как следовать JSonВставить новый объект в массиве атрибуты в документе в MongoDB используя mgo.v2

"configs": [ 
     { 
      "configid":1, 
      "id": 0, 
      "widgets": [ 
      { 
       "position": 1, 
       "type": 1, 
       "class": "normal green", 
       "metricid": 5 
      }, 
      { 
       "position": 2, 
       "type": 1, 
       "class": "normal blue", 
       "metricid": 6 
      } 
     ] 
     } 
    ] 

Я создал configs коллекции используя приведенную выше структуру json.

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

but.In моём случае, я хочу добавить новый элемент в массив виджетов для этого configid. это вид объекта, как это,

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

Каков наилучший способ добавить этот объект в массив виджетов в paticular configid в MongoDB? Я использую mgo.v2 драйвер mongodb

ответ

0

Вы можете использовать метод обновления для добавления элемента массива с помощью оператора $push. Например:

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