Symfony2 Docrine ODM:动态集合名称

时间:2016-11-24 10:46:03

标签: php mongodb symfony doctrine-orm doctrine-odm

我在Symfony 2项目上使用MongoDB Doctrine ODM。在文档类中,映射元数据由注释指定。 例如:

    /**
     * @MongoDB\Document(collection="statistiche")
     */

这种方式的集合名称是硬编码的。我想拥有动态集合名称参数,可以从全局parameters.yml Symfony文件中读取(因此,可以由用户配置)。我该如何实现这一目标?感谢。

1 个答案:

答案 0 :(得分:0)

然后不要使用注释,但要使用元数据定义中的yaml。

Documentation and Example

但请注意,每个元数据定义(无论是每个注释,yaml还是whateever)通常只会加载一次并在生产中因性能原因而缓存。

这意味着您通常必须清除缓存以使用更新的元数据定义。

要考虑的另一个问题是重命名现有文档/属性。这可能需要一些迁移活动以避免意外行为。