Mongo::setSlaveOkay
Mongo 関数
Mongo
PHP Manual

# Mongo::switchSlave

(PECL mongo >=1.1.0)

Mongo::switchSlave — slaveOkay 読み込み用の新しいセカンダリを選ぶ

### 説明

public string Mongo::switchSlave ( void )

これは、読み込み用に使う新しいセカンダリをランダムに選びます。 ドライバから自動的にコールされるので、このメソッドを使う必要はありません。このメソッドは Mongo::getHosts() (ホストの状態を更新) および Mongo::getSlave() (返り値を取得) をコールします。

読み込みのセカンダリへの分散についての情報は、このマニュアルの 問い合わせの節 を参照ください。

### パラメータ

この関数にはパラメータはありません。

### 返り値

この接続が読み込みに使っているセカンダリのアドレスを返します。 アドレスはランダムに選ばれるので、前と同じアドレスになることもあります。 稼働中のセカンダリが 1 台だけ (あるいはプライマリだけ) の場合はひとつのアドレスしか返しません。

たとえば、プライマリ・セカンダリ・アービター (調停者) の 3 台からなるレプリカセットの場合、 このメソッドは常にセカンダリのアドレスを返します。セカンダリがダウンしているときは、 このメソッドは常にプライマリのアドレスを返します。プライマリもダウンしたときは このメソッドは例外をスローします。アービターが読み込みを処理できないからです。

### エラー / 例外

レプリカセットでない接続に対してコールした場合は MongoException (エラーコード 15) をスローします。 読み込み先 (プライマリあるいはセカンダリ) が見つからない場合は MongoException (エラーコード 16) をスローします。

### 変更履歴

バージョン | 説明
--- | ---
1.2.11 | `E_DEPRECATED` を発行するようになりました。

### 参考

- 優先読み込み

Mongo::setSlaveOkay
Mongo 関数
Mongo
PHP Manual