我的问题是我已经配置了两个这样的文档管理器:
doctrine_mongodb:
document_managers:
video:
connection: video
auto_mapping: true
stats:
connection: stats
auto_mapping: true
connections:
video:
server: mongodb://mongo0:27017,mongo1:27017
options:
connect: true
replicaSet: true
slaveOkay: true
stats:
server: mongodb://mongo2:27017,mongo3:27017
options:
connect: true
replicaSet: true
slaveOkay: true
default_document_manager: video
default_connection: video
default_database: my_database
我对两个数据库都有相同的名称,当我加载页面时,似乎一切正常(加载我的页面我只使用'视频'文档管理器)。但是,如果我使用'统计数据'文件管理员之后,symfony似乎疯了。
我将文档管理器注入这样的服务:
stats_service:
class: %stats_service.class%
arguments:
- @doctrine_mongodb.odm.stats_document_manager
video_service:
class: %video_service.class%
arguments:
- @doctrine_mongodb.odm.video_document_manager
我不知道为什么,但似乎每次我进行查询时,symfony会随机使用其中一个连接,而不是注入文档管理器的连接。
请帮忙!
由于
答案 0 :(得分:1)
确定。我终于解决了我的问题。我有两个具有相同名称的副本集,所有问题都来自那里。 为了解决我改变了其中一个副本集的名称和属性" replicaSet"配置:
doctrine_mongodb:
document_managers:
video:
connection: video
auto_mapping: true
stats:
connection: stats
auto_mapping: true
connections:
video:
server: mongodb://mongo0:27017,mongo1:27017
options:
connect: true
replicaSet: videoReplicaset
slaveOkay: true
stats:
server: mongodb://mongo2:27017,mongo3:27017
options:
connect: true
replicaSet: statsReplicaset
slaveOkay: true
default_document_manager: video
default_connection: video
default_database: my_database
答案 1 :(得分:-1)
发现了一篇有趣的文章,建议明确设置here