PHP ドライバー 1.3.2 と mongodb 2.2 を使用して、readPreference を使用して、レプリカ セット内のセカンダリの 1 つに集計クエリを送信しようとしています。何を試しても、集計クエリはプライマリ サーバーで実行されます。
基本的な例:
$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に投げると思いました。