在我的应用程序中,我必须使用两个不同的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缓存: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数据库的正确方法
答案 0 :(得分:4)
我建议您将 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: ~