0

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

1 Answer 1

1

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));
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.