Doctrine Mongo更新$ pull查询无效

Phi*_*hil 2 php doctrine mongodb doctrine-odm

我正在尝试使用$pull更新查询删除对文档的引用(为了删除所述文档)但是似乎没有发生任何事情.

我可以手动运行以下Mongo查询

db.collection.update({}, {
    $pull: {
        'field': {'$id': ObjectId("xxxxxxxx")}
    }
}, false, true)
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.尝试在Doctrine的ODM中执行相同的操作既不会产生预期结果,也不会产生任何错误消息.这是我们到目前为止所拥有的

$id = new MongoId("xxxxxxxx");

$qb = $repo->createQueryBuilder();
$qb->update();
$qb->field('field')->pull(array('$id' => $id));
$qb->getQuery()->execute();
Run Code Online (Sandbox Code Playgroud)

关于我做错了什么的暗示?

Phi*_*hil 5

啊,经过Tratrling代码后终于找到了它......

必须通过multi选项通过MongoCollection::update()

$qb->getQuery(array('multiple' => true))->execute();
Run Code Online (Sandbox Code Playgroud)