@dfhkjhg

Как обновить данные в массиве mongoose?

Есть обьект:
{
    id: 8946,
    e: [
        ...,
        {type: 'model', value: 1, other: {
            price: 1525,
            chtoto: 1,
        }}
    ]
}

//достаю из бд
findOne({id: 8946})

Но мне допустим надо достать из массива e обьект где type === 'model' && value === 1
и изменить данные в обьекте other
Как это сделать?)
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
hzzzzl
@hzzzzl
попробуй как-то так, но это неточно

.findOneAndUpdate(
  { id: 8946, 'e.type': 'model', 'e.value': 1 },
  { 
    $set: {
      'e.$.other': { ...newOtherData }   // новый объект
    }
  }
)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы