Eric Simons
Eric Simons

Reputation: 109

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)
);

Upvotes: 5

Views: 6305

Answers (1)

aurora
aurora

Reputation: 9627

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

Upvotes: 10

Related Questions