Как найти конкретный объект внутри объекта в Монго, чтобы выполнить обновление - PullRequest
0 голосов
/ 04 июля 2018

У меня есть JSON человек, у каждого человека есть список детей:

{
  "name": ":John",
  "age": 35,
  "kids": [
    {
      "name": "tom",
      "age": 5
    },
    {
      "name": "tina",
      "age": 3
    }
  ]
}

Я хочу выполнить findAndModify, где имя человека - "Джон", а ребенка - "Тина", и обновить ее возраст до 7.

Это мой запрос:

db.people.findAndModify({
    query: { "name" : "John" {--HERE--}},
    update: { $set: { "age" : 7 } }
})

Чем мне нужно заменить --HERE--, чтобы найти ребенка по имени "tina"?

1 Ответ

0 голосов
/ 04 июля 2018

Вместо того, чтобы иметь половину ответа в комментариях, вот полный пример, который должен делать то, что вам нужно:

db.people.findAndModify({
    query: { "name" : "John", "kids.name" : "tina"},
    update: { $set: { "kids.$.age" : 7} }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...