symfony2中的Mongodb设置 - 配置文件中的"预期数组,但得到了字符串"

mik*_*ika 1 php mongodb symfony doctrine-orm

我做我的第一个步骤,MongoDB的symfony的2.4,按照手册的说明这里.在成功设置并运行mongodb服务器之后,我尝试使用以下指令生成我的第一个getter和setter:

php app/console doctrine:mongodb:generate:documents AcmeDemoBundle
Run Code Online (Sandbox Code Playgroud)

但我得到的只是这个错误信息:

[Symfony\Component\Config\Definition\Exception\InvalidTypeException] 
Invalid type for path "doctrine_mongodb.connections.default_database". 
Expected array, but got string 
Run Code Online (Sandbox Code Playgroud)

这似乎是我的冲突配置:

# Doctrine Mongo DB Configuration
doctrine_mongodb:
  connections:
    default:
      server: mongodb://localhost:27017
      options: {}
    default_database: test_database
    document_managers:
      default:
        auto_mapping: true
Run Code Online (Sandbox Code Playgroud)

即:

default_database: test_database
Run Code Online (Sandbox Code Playgroud)

一个默认数据库应该是一个数组,这听起来很奇怪.无论如何我试过这个

default_database: [ test_database ]
Run Code Online (Sandbox Code Playgroud)

并得到此其他错误消息:

[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]
Unrecognized options "0" under "doctrine_mongodb.connections.default_database"
Run Code Online (Sandbox Code Playgroud)

这篇关于mongdb doctrine配置的帖子提供了很多关于更高级选项的信息.我试过另一个数据库名称:

default_database: hello_%kernel.environment%
Run Code Online (Sandbox Code Playgroud)

没有更多运气(收到第一条错误消息).

知道我做错了什么吗?任何提示都将受到欢迎!谢谢.

Deb*_*lav 6

小心yml缩进是"严格的".default_database必须处于相同的等级位置connections.(抱歉英语).

# Doctrine Mongo DB Configuration
doctrine_mongodb:
  connections:
    default:
      server: mongodb://localhost:27017
      options: {}
  default_database: test_database
  document_managers:
    default:
      auto_mapping: true
Run Code Online (Sandbox Code Playgroud)