Take the 2-minute tour ×

I want to increment all documents in a collection that contain a given nested array value. My objects each contain an "order" array with key:number values.

    _id: ...,
    order : array(
        foo: 34

However, I can't figure out the correct MongoDB Query using the PHP MongoDB Native Driver.

    // Update all existing items with an order greater than this number
    $number = 2;

    $result = $collection->update(
        array("order" => array('foo' => array('$gt' => $number))),
        array('$inc' => array('order' => array('foo' => 1))),
        array("safe" => true)
share|improve this question

1 Answer 1

up vote 0 down vote accepted

This is the PHP version of your MongoDB query and I add a multiple option additionally.

$collection->update(array('order.foo'=>array('$gt'=>2)), array('$inc' => array('order.foo'=>1)), array('multiple'=>true, 'safe'=>true));
share|improve this answer

Your Answer


