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

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'})

Какой костыль здесь будет правильным?
  • Вопрос задан
  • 4245 просмотров
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
jdponomarev
@jdponomarev
1 костыль — первым запросом выяснить позицию таска в массиве. вторым запросом апдейтить {tasks.номер_в_массиве.subtasks.$.title:«new value»}
2 костыль — вытаскивать все subtasks, обновлять и записывать обратно.
выбирайте :)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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