downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

MongoCursor::snapshot> <MongoCursor::skip
[edit] Last updated: Fri, 25 May 2012

view this page in

MongoCursor::slaveOkay

(PECL mongo >=0.9.4)

MongoCursor::slaveOkayこのクエリをスレーブ上で完了できるかどうかを設定する

説明

public MongoCursor MongoCursor::slaveOkay ([ bool $okay = true ] )

このメソッドをコールすると、以下の条件を満たす場合にドライバが読み込みをスレーブに回すようになります。

  • レプリカセットを使っている
  • Mongo インスタンスを作るときに、オプション "replicaSet" => true を指定している
  • ドライバからアクセス可能な、正常なスレーブが存在する
どのサーバーがこのクエリを処理したのかを調べるには、クエリを実行した後に MongoCursor::info() をコールします。 server フィールドが、クエリの送信先のサーバーです。

スレーブへの自動ルーティングを使っていない場合でも、この関数を使わなければならないことに注意しましょう。 レプリカセットのセカンダリに直接接続したとしても、この関数をコールすべきです。 そうすることで、古いデータであることを承知の上で取得しているのだということを データベースに伝えることができます。コールしなければ、クエリを実行すると "not master" エラーが発生します。

このメソッドは、静的クラス変数 MongoCursor::slaveOkay を上書きします。 また、Mongo::setSlaveOkay()MongoDB::setSlaveOkay()MongoCollection::setSlaveOkay() も上書きします。

パラメータ

okay

スレーブに問い合わせることが可能かどうか。

返り値

このカーソルを返します。

エラー / 例外

このカーソルの反復処理が始まっている場合に 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);

?>


add a note add a note User Contributed Notes MongoCursor::slaveOkay
There are no user contributed notes for this page.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites