(PECL mongo >=1.6.0)
MongoCommandCursor::getReadPreference — Получает предпочтения чтения для команды
У этой функции нет параметров.
Данная функция возвращает массив, описывающий режимы предпочтения чтения. Массив содержит следующие значения: type
для строкового значения режима предпочтения чтения (соответствующий константам MongoClient) и tagsets
, содержащее список всех критерий наборов тегов. Если наборы тегов не были указаны, то tagsets
в массиве не будет.
Пример #1 Пример возвращаемого значения MongoCommandCursor::getReadPreference()
<?php
$m = new MongoClient('mongodb://rs1.example.com:27017', array('replicaSet' => 'myReplSetName'));
$collection = $m->selectCollection('test', 'people');
// Если MongoCommandCursor создается напрямую, он наследует предпочтения чтения
// экземпляра MongoClient, переданного его конструктору;
// однако если у MongoCollection::aggregateCursor() будет MongoCommandCursor,
// то он будет наследовать предпочтения чтения коллекции.
$collection->setReadPreference(MongoClient::RP_SECONDARY);
$cursor = $collection->aggregateCursor( [
[ '$group' => [ '_id' => '$name', 'points' => [ '$sum' => '$points' ] ] ],
[ '$sort' => [ 'points' => -1 ] ],
] );
var_dump($cursor->getReadPreference());
?>
Результат выполнения данного примера:
array(1) { ["type"]=> string(9) "secondary" }