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

MongoDB: update во вложенных arrays

Привет всем!
Не могу понять, как правильно сделать update вот в такой ситуации:
{ name: 'People', tasks: [ {title: 'First', subtasks: [{_id:1, title:'PLS UPDATE'}]}]}
update во многоуровневых arrays не работает: jira.mongodb.org/browse/SERVER-831

Т.е. я не могу сделать:
update({tasks.subtasks._id:1},{tasks.$.subtasks.$.title:'new value'})

Какой костыль здесь будет правильным?
  • Вопрос задан
  • 4249 просмотров
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Бэкенд на Node.js для фронтенд-разработчиков
    3 месяца
    Далее
  • Skillbox
    Node.js
    2 месяца
    Далее
  • Stepik
    Microservices - паттерны и практика построения микросервисов
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
jdponomarev
@jdponomarev
1 костыль — первым запросом выяснить позицию таска в массиве. вторым запросом апдейтить {tasks.номер_в_массиве.subtasks.$.title:«new value»}
2 костыль — вытаскивать все subtasks, обновлять и записывать обратно.
выбирайте :)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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