2011-08-24 75 views
2

我試圖刪除的文件(除去上述文件的目的)參考使用$pull更新查詢但是沒什麼似乎發生。

我可以手動運行以下蒙戈查詢

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

工作正常。試圖做同樣的學說的ODM既不產生預期的結果或任何錯誤消息。以下是我們目前爲止的內容

$id = new MongoId("xxxxxxxx"); 

$qb = $repo->createQueryBuilder(); 
$qb->update(); 
$qb->field('field')->pull(array('$id' => $id)); 
$qb->getQuery()->execute(); 

任何有關我在做什麼錯的提示都是錯誤的?

回答

5

啊,終於找到了通過主義代碼拖網後...

走過來MongoCollection::update()

$qb->getQuery(array('multiple' => true))->execute(); 
+0

由於通過multi選項用於... –

+0

我想你也可以使用updateMany()代替update() –

-3
$friend = Zend_Registry::get('doctrine')->getDocumentManager()->createQueryBuilder('App\document\Message')->update()->field('unread')->set(TRUE)->field('viewer_id')->equals(10001)-> getQuery(array('multiple' => true))->execute();