MongoCommandCursor::setReadPreference

(PECL mongo >=1.6.0)

MongoCommandCursor::setReadPreferenceУстанавливает предпочтения чтения для команды

Описание

public MongoCommandCursor::setReadPreference ( string $read_preference , array $tags = ? ) : MongoCommandCursor

Список параметров

read_preference

Режимы предпочтения чтения: MongoClient::RP_PRIMARY, MongoClient::RP_PRIMARY_PREFERRED, MongoClient::RP_SECONDARY, MongoClient::RP_SECONDARY_PREFERRED и MongoClient::RP_NEAREST.

tags

Пустой массив, либо содержащий наборы тегов, где каждый такой набор является массивом из критериев, используемых в соответствии с тегами членов набора реплик.

Возвращаемые значения

Возвращает курсор.

Ошибки

Генерирует ошибку уровня E_WARNING, в случае неверных параметров, либо если один или более наборов тегов были переданы с режимом чтения MongoClient::RP_PRIMARY.

Примеры

Пример #1 MongoCommandCursor::setReadPreference() пример синтаксиса массива набора тегов

<?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' => -] ],
] );

// Предпочитаем ближайший сервер в "восточном" центре обработки данных, 
// также используемый для отчетности, но используем сервер в "западном" центре обработки данных.
$cursor->setReadPreference(MongoClient::RP_NEAREST, [
    [ 
'dc' => 'east''use' => 'reporting' ],
    [ 
'dc' => 'west' ],
] );

foreach (
$cursor as $person) {
    
// ...
}

// Если предпочтения чтения изменено, они будут использованы 
// при следующей перемотке курсора и повторном выполнении команды.
$cursor->setReadPreference(MongoClient::RP_PRIMARY);

foreach (
$cursor as $person) {
    
// ...
}

?>

Смотрите также