sandun priyanka sandun priyanka - 1 month ago 28
JSON Question

Insert new object into Array Attribute in document in mongodb using mgo.v2

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

Answer

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}}
)
Comments