使用 php 驱动程序 1.3.2 和 mongodb 2.2,我尝试使用 readPreference 将聚合查询定向到我的副本集中的辅助节点之一。似乎无论我尝试什么,聚合查询都是在主服务器上执行的。
基本示例:
$db = new \MongoClient('rs1.example:27017,rs2.example:27017,rs3.example:27017', array('replicaSet' => 'myRs') );
$db->setReadPreference( \MongoClient::RP_SECONDARY );
$results = $db->tracking->sessions->aggregate( array( ... ) );
我启用MongoLog
并得到以下结果:
聚合方法显示:REPLSET INFO: - connection: type: PRIMARY
如果我改用 find ,它会显示:REPLSET INFO: - connection: type: SECONDARY
这是php驱动程序的错误吗?还有其他人遇到这个吗?以为我会在将其作为错误添加到他们的 Jira 之前将其扔到 SO 上。