0

指定されたネストされた配列値を含むコレクション内のすべてのドキュメントをインクリメントしたいと思います。私のオブジェクトにはそれぞれ、key:number値を持つ「order」配列が含まれています。

{
    _id: ...,
    order : array(
        foo: 34
    )
}

ただし、PHPMongoDBネイティブドライバーを使用して正しいMongoDBクエリを特定することはできません。

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

1 に答える 1

1

これはMongoDBクエリのPHPバージョンであり、複数のオプションを追加します。

$collection->update(array('order.foo'=>array('$gt'=>2)), array('$inc' => array('order.foo'=>1)), array('multiple'=>true, 'safe'=>true));
于 2012-10-28T07:58:20.737 に答える