(PECL mongo >=0.9.4)
MongoCursor::slaveOkay — このクエリをスレーブ上で完了できるかどうかを設定する
このメソッドをコールすると、以下の条件を満たす場合にドライバが読み込みをスレーブに回すようになります。
スレーブへの自動ルーティングを使っていない場合でも、この関数を使わなければならないことに注意しましょう。 レプリカセットのセカンダリに直接接続したとしても、この関数をコールすべきです。 そうすることで、古いデータであることを承知の上で取得しているのだということを データベースに伝えることができます。コールしなければ、クエリを実行すると "not master" エラーが発生します。
このメソッドは、静的クラス変数 MongoCursor::slaveOkay を上書きします。 また、Mongo::setSlaveOkay() や MongoDB::setSlaveOkay()、 MongoCollection::setSlaveOkay() も上書きします。
スレーブに問い合わせることが可能かどうか。
このカーソルを返します。
このカーソルの反復処理が始まっている場合に MongoCursorException をスローします。
例1 MongoCursor::slaveOkay() の例
<?php
MongoCursor::$slaveOkay = false;
// スレーブには問い合わせられません
$cursor = $collection->find();
// スレーブに問い合わせることができます
$cursor = $collection->find()->slaveOkay();
MongoCursor::$slaveOkay = true;
// スレーブに問い合わせることができます
$cursor = $collection->find();
// スレーブには問い合わせられません
$cursor = $collection->find()->slaveOkay(false);
?>