2015-04-23 5 views
0

Я хочу просто нажать объект в массив объектов в MongoDBMongoDb: Как вставить дополнительный объект в коллекцию объектов в golang?

{ 
    "_id" : ObjectId("51c9cf2b206dfb73d666ae07"), 
    "firstName" : "john", 
    "lastName" : "smith", 
    "ownerEmail" : "[email protected]", 
    "camps" : [ 
      { 
        "name" : "cubs-killeen", 
        "location" : "killeen" 
      }, 
      { 
        "name" : "cubs-temple", 
        "location" : "temple" 
      } 
    ], 
    "instructors" : [ 
      { 
        "firstName" : "joe", 
        "lastName" : "black" 
      }, 
      { 
        "firstName" : "will", 
        "lastName" : "smith" 
      } 
    ] 
} 

и толкнуть объект в вышеуказанном документе в необходимости сделать

db.stack.update({"ownerEmail":"[email protected]"}, 
      {$push: { 
         "camps":{ "name":"cubs-killeen","location":"some other Place" } 
         } 
      } 
      ) 

Так как я могу реализовать такую ​​же функциональность с помощью MgO Водитель

+0

Не нужно [префиксные заголовки вопросов с их тегами] (http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles), пожалуйста, отредактируйте заголовок , Кроме того, пожалуйста, не злоупотребляйте ** жирным ** разметкой. –

ответ

1

Прослушать:

session, err := mgo.Dial("127.0.0.1") 
if err != nil { 
    panic(err) 
} 

defer session.Close() 

session.SetMode(mgo.Monotonic, true) 

// Drop Database 
if IsDrop { 
    err = session.DB("test").DropDatabase() 
    if err != nil { 
     panic(err) 
    } 
} 

// Collection Stack 
c := session.DB("test").C("stack") 

// Query 
query := bson.M{"ownerEmail": "[email protected]"} 
update := bson.M{"$push": bson.M{"camps": bson.M{"name": "cubs-killeen", "location": "some other Place"}}} 

// Update 
err = c.Update(query, update) 
if err != nil { 
    panic(err) 
} 
+0

thanx для уточненных ans –

+0

@AkashShinde Не стоит беспокоиться :-) – chridam

+0

выше метод добавляет элемент как массив –

Смежные вопросы