在我的应用程序中,我必须使用两个不同的 MongoDb 数据库。 所以我按照以下link中的说明进行操作.这是我的 app/config.yml 文件的一部分
doctrine_mongodb:
default_database: music_store_database
default_connection: conn1
default_document_manager: dm1
connections:
conn1:
server: mongodb://localhost:27017
options:
connect: true
db: music_store_database
conn2:
server: mongodb://localhost:27017
options:
connect: true
db: another_database
document_managers:
dm1:
connection: conn1
mappings:
MyfirstBundle: ~
dm2:
connection: conn2
mappings:
MySecondBundle: ~
现在,如果我执行 ./app/console cache:clear --env=prod 或其他任何操作,我会遇到此问题:
[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]
The service "doctrine_mongodb.odm.conn1_connection" has a dependency on a non- existent service "doctrine_mongodb.odm.conn1_configuration".
The service "doctrine_mongodb.odm.conn1_connection" has a dependency on a non- existent service "doctrine_mongodb.odm.conn1_configuration".
我被困住了,没有找到任何解决方法。所以我想知道我做错了什么?配置 Symfony 使用两个 MongoDb 数据库的正确方法是什么
最佳答案
我建议您将dm1和dm2更改为conn1和conn2。我重现了你的问题,只是通过这个小小的改变,我就让它工作了。
doctrine_mongodb:
default_database: music_store_database
default_connection: conn1
default_document_manager: conn1
connections:
conn1:
server: mongodb://localhost:27017
options:
connect: true
db: music_store_database
conn2:
server: mongodb://localhost:27017
options:
connect: true
db: another_database
document_managers:
conn1:
connection: conn1
mappings:
MyFirstBundle: ~
conn2:
connection: conn2
mappings:
MySecondBundle: ~
关于php - 配置 Symfony 使用多个 mongodb 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24906860/