【问题标题】:Right way to define MongoDB in config.yml在 config.yml 中定义 MongoDB 的正确方法
【发布时间】:2014-02-28 14:29:24
【问题描述】:

我在我的项目中使用 MongoDB,但显然 Doctrine 更新了他们的包,现在如果我运行“composer update”命令,我会遇到问题。这是我的学说.yml 文件:

# ODM
doctrine_odm.mongodb:
  connections:
    default:
      server: mongodb://%mongo_host%:%mongo_port%
      options: {}
  default_database: %mongo_database%
  document_managers:
    default:
      auto_mapping: true

但我收到此错误:

[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException] 没有扩展能够加载配置 “doctrine_odm.mongodb”(在 /var/www/html/kraken/app/config/doctrine.yml)。

如果我使用这个其他配置:

# ODM
doctrine_mongodb:
  connections:
    default:
      server: mongodb://%mongo_host%:%mongo_port%
      options: {}
  default_database: %mongo_database%
  document_managers:
    default:
      auto_mapping: true

然后错误转化为这个:

[Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException] 服务“doctrine_mongodb.odm.default_configuration”有一个 依赖一个不存在的参数 “doctrine_mongodb.odm.default_commit_options”。你是说其中之一 这些:“doctrine_mongodb.odm.default_connection”, “doctrine_mongodb.odm.default_document_manager”?

我做错了什么或我错过了什么?

【问题讨论】:

    标签: php symfony doctrine-orm doctrine doctrine-odm


    【解决方案1】:

    只需添加(几分钟前我运行 composer update 时遇到了同样的问题):

    doctrine_mongodb:
        default_commit_options: ~
    

    【讨论】:

      【解决方案2】:

      快速回答。这似乎是一个已知问题。

      https://github.com/doctrine/DoctrineMongoDBBundle/issues/222

      解决方法是添加一个默认选项:

      doctrine_mongodb:

      default_commit_options: ~
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-01
        相关资源
        最近更新 更多