Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP MongoDB update multiple documents using $in/$or

I'm having trouble figuring out how to construct an update query in PHP that will update document IDs X,Y, and Z. Does anyone have experience with this?

$ids[] = array(
  new MongoId('4eaaf929498fe2c80300000c'),
  new MongoId('4eaaff24498fe2ba0900001f')
); 
$collection->update(
  array('_id' => array('$in' => $ids)),
  array('$set' => array("title"=>"test")),
  array("upsert" => true)
);
like image 395
Eric Simons Avatar asked Oct 28 '11 19:10

Eric Simons


1 Answers

I assume that your trouble is, that only one document get's updated, right? If this is the case, there is another setting you have to specifiy in the third parameter (the options parameter) for the update method:

multiple => true

Otherwise, it will only update the first match of your query. See the documentation to the update method at:

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

like image 132
aurora Avatar answered Sep 28 '22 07:09

aurora