Задать вопрос
Garret
@Garret

Как в MongoDB обновить объекты в массиве только новыми ключами?

Дана коллекция примерно таких документов:
{
  "book": "Dune",
  "persons": [
    {"name": "Leto", "age": 52},
    {"name": "Paul", "age": 15}
  ]
}

Есть ли способ обновить объекты в массиве persons передав только новые ключи, как это можно сделать с $set? Что бы на выходе получить:
{
  "book": "Dune",
  "persons": [
    {"name": "Leto", "age": 52, "alive": false},
    {"name": "Paul", "age": 15, "alive": true}
  ]
}
  • Вопрос задан
  • 2386 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Prognosticator
@Prognosticator
TODO: Здесь будут ворованные умные мысли, типа мои
для одной записи
db.books.update( { "persons.name": "Leto" }, { $set: { "persons.$.alive": true }} );
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы