我正在连接到一个配置为只读的远程数据库。 如果我使用:
$connection = new \MongoClient($server);
$dbname = $connection->selectDB("db");
$dbname->setReadPreference(\MongoClient::RP_SECONDARY);
它工作正常,但如果我尝试:
$dm = $this->getDocumentManager(); //using remote db connection in config
$result = $dm->getRepository('Repository')->method();
我收到这个错误:
not master and slaveOk=false
我如何指定 $dm 的读取首选项,就像它对 MongoClient 的工作方式一样?
提前致谢...
最佳答案
找到了! 我们必须在 config.yml 文件中指定 readPreference 属性。 希望这可以帮助其他人...
conn2:
server: "%conn2_server%"
options:
connect: true
db: "%conn2_options_db%"
readPreference: secondary
关于mongodb - DoctrineMongoDBBundle : Specify Read Preference to Document Manager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29041778/