2017-01-09 6 views
1

Я новый MongoDB. У меня есть коллекция называется «surveyCollection». вставить некоторые данные в коллекции с оболочкой,MongoDB JsonObject и JsonArray

db.surveyCollection.insert({ 
    "count":30, 
    "people": [ 
     { 
      "firstName":"John", 
      "lastName":"Jason" 
     } 
    ] 
}) 
db.surveyCollection.insert({ 
    "count":30, 
    "people": [ 
     { 
      "firstName":"Sarah", 
      "lastName":"Smith" 
     } 
    ] 
}) 

И у меня есть данные ниже (db.surveyCollection.find() довольно().);

{ 
    "_id" : ObjectId("5873d0c86c3319a579754d00"), 
    "count" : 30, 
    "people" : [ 
     { 
      "firstName" : "John", 
      "lastName" : "Jason" 
     } 
    ] 
} 
{ 
    "_id" : ObjectId("5873d0c86c3319a579754d00"), 
    "count" : 30, 
    "people" : [ 
     { 
      "firstName" : "Sarah", 
      "lastName" : "Smith" 
     } 
    ] 
} 

Я не знаю, как я могу вставить новых людей в любой опрос. Я имею в виду, я хочу иметь данные, как показано ниже;

{ 
    "_id" : ObjectId("5873d0c86c3319a579754d00"), 
    "count" : 30, 
    "people" : [ 
     { 
      "firstName" : "John", 
      "lastName" : "Jason" 
     } 
    ] 
} 
{ 
    "_id" : ObjectId("5873d0c86c3319a579754d00"), 
    "count" : 30, 
    "people" : [ 
     { 
      "firstName" : "Sarah", 
      "lastName" : "Smith" 
     }, 
     { 
      "firstName" : "George", 
      "lastName" : "Smith" 
     } 
    ] 
} 

Я имею в виду, как я могу достичь значений в JsonArray?

Спасибо

ответ

1

Используйте $push метод, чтобы подтолкнуть элемент в массив документа, как показано ниже:

db.surveyCollection.update(
{ "_id" : ObjectId("5873d0c86c3319a579754d00") }, 
{ $push: { people: { "firstName" : "George", "lastName" : "Smith"} } } 
) 

Это добавит объект { "firstName" : "George", "lastName" : "Smith"} в массив people в документе {"_id" : ObjectId("5873d0c86c3319a579754d00")}

+0

Большое спасибо, я работал в течение 2 часов. – Aybuke

+0

Нет проблем. Рад, что смог помочь :) – superUser

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