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

Как обновить объект в массиве в коллекции mongodb (php)?

Имею объект в коллекции:
{
  _id:{},
  name: 'name',
  someArray: [{
    id: 234,
    info: 'some info'
  }, {
    id: 567,
    info: 'other info'
  }]
}

Например, мне надо поменять в объекте с id 567 инфо, как это лучше всего сделать? Объект в массиве найти получается, а вот заапдейтить - нет. В кач-ве языка использую пых. Спасибо!
  • Вопрос задан
  • 407 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Quieteroks
php программист
Вариантов множество. Например обновление запросом с поиском:
$retval = $col->findAndModify(
     ["name" => "name"],
     ['$set' => ['someArray.0.info' => 'update info']],
);

Или же если обработка значительная:
$doc = $col->find(["name" => "name"]);
$doc['someArray'][0]['info'] = 'update info';
$col->save($doc);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽