PHP MongoDB обновляет несколько документов, используя $ in / $ или - PullRequest
5 голосов
/ 28 октября 2011

У меня проблемы с выяснением, как построить запрос на обновление в PHP, который будет обновлять идентификаторы документов X, Y и Z. У кого-нибудь есть опыт с этим?

$ids[] = array(
  new MongoId('4eaaf929498fe2c80300000c'),
  new MongoId('4eaaff24498fe2ba0900001f')
); 
$collection->update(
  array('_id' => array('$in' => $ids)),
  array('$set' => array("title"=>"test")),
  array("upsert" => true)
);

1 Ответ

10 голосов
/ 07 ноября 2011

Полагаю, ваша проблема в том, что обновляется только один документ, верно?В этом случае есть другой параметр, который вы должны указать в третьем параметре (параметр options) для метода обновления:

multiple => true

В противном случае он будет обновлять только первое соответствие вашего запроса.См. Документацию к методу обновления по адресу:

http://de.php.net/manual/en/mongocollection.update.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...