Php/docs/mongocommandcursor.setreadpreference

提供:Dev Guides
< Php
移動先:案内検索

MongoCommandCursor::setReadPreference

(PECL mongo >=1.6.0)

MongoCommandCursor::setReadPreferenceSet the read preference for this command


説明

public MongoCommandCursor::setReadPreference ( string $read_preference [, array $tags ] ) : MongoCommandCursor

パラメータ

read_preference
読み込みの優先モード。MongoClient::RP_PRIMARYMongoClient::RP_PRIMARY_PREFERREDMongoClient::RP_SECONDARYMongoClient::RP_SECONDARY_PREFERRED あるいは MongoClient::RP_NEAREST のいずれか。
tags
ゼロ個以上のタグセットの配列。各タグセット自体も配列で、レプリカセットのメンバーのタグにマッチさせる条件として使います。


返り値

Returns this cursor.


エラー / 例外

パラメータが無効な場合、あるいは優先読み込みモードが MongoClient::RP_PRIMARY のときにタグセットを指定した場合に E_WARNING が発生します。


例1 MongoCommandCursor::setReadPreference() tag set array syntax example

<?php$m = new MongoClient('mongodb://rs1.example.com:27017', array('replicaSet' => 'myReplSetName'));$collection = $m->selectCollection('test', 'people');$cursor = $collection->aggregateCursor( [    [ '$group' => [ '_id' => '$name', 'points' => [ '$sum' => '$points' ] ] ],    [ '$sort' => [ 'points' => -1 ] ],] );// Prefer the nearest server in the "east" data center also used for reporting,// but fall back to a server in the "west" data center$cursor->setReadPreference(MongoClient::RP_NEAREST, [    [ 'dc' => 'east', 'use' => 'reporting' ],    [ 'dc' => 'west' ],] );foreach ($cursor as $person) {    // ...}// If the read preference is changed, it will be used the next time the cursor// is rewound and the command is re-executed.$cursor->setReadPreference(MongoClient::RP_PRIMARY);foreach ($cursor as $person) {    // ...}?>

参考