我该如何在Doctrine MongoDB ODM中删除多个文档?在PHP类中,您可以使用以下代码完成此操作:
我该如何在Doctrine Mongo ODM中实现这个功能?
$db->collection->remove(array("age" => 18));
我该如何在Doctrine Mongo ODM中实现这个功能?
$db->collection->remove(array("age" => 18));
你有两个选项。使用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));
或者,您可以使用查询构建器API:
$qb = $dm->createQueryBuilder('Documents\User');
$qb->remove()
->field('age')->equals(18)
->getQuery()
->execute();
如果你在getQuery()
处停止,你可以在返回的查询对象上使用debug()
方法,以查看Doctrine将针对数据库执行什么操作。