如何通过DoctrineMongoDBBundle截断MongoDB集合?

时间:2016-02-03 10:28:58

标签: mongodb symfony doctrine-orm doctrine-odm

我有一个mongoDB集合,我想以编程方式截断它(删除此集合中的所有文档)。我这样做了:

    $collection = $this
        ->container
        ->get('doctrine_mongodb')
        ->getRepository('AppBundle:User');

    $document_manager = $this
        ->container
        ->get('doctrine_mongodb')
        ->getManager();

    if($override){
        $document_manager->remove($collection);

其中用户是集合的名称。但它不起作用。如何正确删除集合中的所有文档?

1 个答案:

答案 0 :(得分:4)

首先,获取一个集合:

$collection = $document_manager->getDocumentCollection('AppBundle:User'); // or just a class name

remove,集合中的所有文档都会传递空数组以匹配所有文档:

$collection->remove([]);

收集到drop

$collection->drop();