2016-11-24 3 views
0

Я использую MongoDB Doctrine ODM в проекте Symfony 2. В классах документов метаданные отображения задаются аннотациями. Например:Symfony2 Docrine ODM: название динамической коллекции

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

Название коллекции, таким образом, это жёстко. Я хочу иметь динамический параметр имени коллекции, который может быть прочитан из глобальных параметров .yml Файл Symfony (и, следовательно, может быть настроен пользователем). Как я могу выполнить эту задачу? Благодарю.

ответ

0

Затем не используйте аннотацию, но используйте yaml из вашего определения метаданных.

Documentation and Example

Но следует помнить, что каждое определение метаданных (будь то в аннотации, YAML или whateever) обычно загружается только один раз и кэшируются для повышения производительности производства.

Это означает, что вам обычно нужно очистить кеш, чтобы использовать обновленное определение метаданных.

Еще одна проблема, которую следует учитывать при переименовании уже существующего документа/атрибута. Это может потребовать некоторых действий по миграции, чтобы избежать неожиданного поведения.

Смежные вопросы