如何在Symfony 2服务容器中设置Doctrine MongoDB存储库


How to set up a Doctrine MongoDB respository in the Symfony 2 service container

如何在Symfony 2应用程序中正确设置服务容器以支持自定义文档存储库?

我现在看到的是:

services:
  acme.repository_user:
    class: Acme'Repository'UserRepository
    arguments: [@doctrine.odm.mongodb.document_manager]

然而,当我查看UserRepository继承的DocumentRepository类的构造函数时,我可以看到以下参数:

public function __construct(DocumentManager $dm, UnitOfWork $uow, Mapping'ClassMetadata $class)

我似乎已经注入了文档管理器,但我如何注入工作单元和类元数据?

尝试将服务定义为(抱歉为xml):

<service id="acme.repository_user"
             class="Acme'Repository'UserRepository"
             factory-service="doctrine.odm.mongodb.document_manager"
             factory-method="getRepository"
             public="false">
    <argument>AcmeBundle:User</argument>
</service>