【问题标题】:Two connections using Doctrine ODM with Symfony2使用 Doctrine ODM 和 Symfony2 的两个连接
【发布时间】:2014-06-21 22:30:51
【问题描述】:

我的问题是我这样配置了两个文档管理器:

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

两个数据库的名称相同,当我加载我的页面时,似乎一切正常(加载我的页面时,我只使用“视频”文档管理器)。但是,如果我之后使用“stats”文档管理器,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 都会随机使用其中一个连接,而不是文档管理器注入的连接。

请帮忙!

谢谢

【问题讨论】:

    标签: symfony doctrine connection odm


    【解决方案1】:

    发现一篇有趣的文章推荐显式 em 设置 here

    【讨论】:

    • 抱歉,我没有看到关于 Doctrine 的几个 ODM 连接的任何信息
    【解决方案2】:

    好的。我终于解决了我的问题。我有两个具有相同名称的副本集,所有问题都来自那里。 为了解决,我更改了其中一个副本集的名称和配置的属性“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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-20
      • 2016-11-26
      • 2012-04-12
      • 1970-01-01
      • 1970-01-01
      • 2015-06-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多