【发布时间】:2012-07-03 06:17:34
【问题描述】:
如何在学说 mongodb odm 中删除多个文档?在 PHP 类中,我应该能够使用以下代码:
$db->collection->remove(array("age" => 18));
如何在学说 mongo odm 中做到这一点?
【问题讨论】:
标签: mongodb doctrine-odm
如何在学说 mongodb odm 中删除多个文档?在 PHP 类中,我应该能够使用以下代码:
$db->collection->remove(array("age" => 18));
如何在学说 mongo odm 中做到这一点?
【问题讨论】:
标签: mongodb doctrine-odm
你有两个选择。使用 DocumentManager,您可以请求给定类的集合。这实际上将返回一个Doctrine\MongoDB\Collection 实例,它包装了基础MongoCollection 以支持日志记录和事件。如果你真的想要的话,底层的MongoCollection 也是可用的:
$collection = $dm->getDocumentCollection('Documents\User');
$collection->remove(array('age' => 18));
// Use the raw MongoCollection to bypass logging and events
$mongoCollection = $collection->getMongoCollection();
$mongoCollection->remove(array('age' => 18));
或者,您可以使用query builder API:
$qb = $dm->createQueryBuilder('Documents\User');
$qb->remove()
->field('age')->equals(18)
->getQuery()
->execute();
如果你停在getQuery(),你可以在返回的查询对象上使用debug()方法来查看Doctrine将对数据库执行什么。
【讨论】: