PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

MongoCursor::slaveOkay - このクエリをセカンダリ上で完了できるかどうかを設定する [非推奨] | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

MongoCursor::slaveOkay

(PECL mongo >=0.9.4)

MongoCursor::slaveOkayこのクエリをセカンダリ上で完了できるかどうかを設定する [非推奨]

説明

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

このメソッドは、バージョン 1.5.0 以降で非推奨になりました。かわりに MongoCursor::setReadPreference()優先読み込み を使いましょう。

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

  • レプリカセットを使っている
  • MongoClient インスタンスを作るときに、オプション "replicaSet" => "setName" を指定している
  • ドライバからアクセス可能な、正常なセカンダリが存在する
どのサーバーがこのクエリを処理したのかを調べるには、クエリを実行した後に 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);

?>

参考

変更履歴

バージョン 説明
1.5.0 このメソッドは非推奨になりました。かわりに MongoCursor::setReadPreference()優先読み込み を使いましょう。


忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「MongoCursor::slaveOkay - このクエリをセカンダリ上で完了できるかどうかを設定する [非推奨]」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | MongoCursor::slaveOkay - このクエリをセカンダリ上で完了できるかどうかを設定する [非推奨]」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: