如何通过DoctrineMongoDBBundle截断MongoDB集合?

3

我有一个mongoDB集合,我希望编程方式截断它(删除此集合中的所有文档)。我做了以下操作:

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

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

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

在这里,User是集合的名称。但是它并没有起作用。如何正确地从集合中删除所有文档?

1个回答

4

首先,获取一个集合:

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

要从集合中删除所有文档,请传递空数组以匹配所有文档:remove
$collection->remove([]);

为了删除集合,请执行以下操作:

drop 集合。

$collection->drop();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接