(PECL mongo >=1.6.0)
MongoCommandCursor::setReadPreference — Establecer la preferencia de lectura para este comando
$read_preference
[, array $tags
] )read_preference
El modo de preferencia de lectura: MongoClient::RP_PRIMARY
, MongoClient::RP_PRIMARY_PREFERRED
, MongoClient::RP_SECONDARY
, MongoClient::RP_SECONDARY_PREFERRED
, o MongoClient::RP_NEAREST
.
tags
Un array de cero o más conjuntos de etiquetas, donde cada conjunto de etiquetas es también un array de criterios usados para comparar etiquetas con miembros de un conjunto de réplicas.
Returns this cursor.
Emite un error de nivel E_WARNING
si el parámetro no es válido, o si se proporcionan uno o más conjuntos de etiquetas con el modo de preferencia de lectura MongoClient::RP_PRIMARY
.
Ejemplo #1 Ejemplo de sintaxis de array de conjunto de etiquetas de 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' => -1 ] ],
] );
// Preferir el servidor más cercano del centro de datos "east" también usado para información,
// pero recurrir a un servidor del centro de datos "west"
$cursor->setReadPreference(MongoClient::RP_NEAREST, [
[ 'dc' => 'east', 'use' => 'reporting' ],
[ 'dc' => 'west' ],
] );
foreach ($cursor as $person) {
// ...
}
// Si se cambia la preferencia de lecutra, esta se utilizará la siguiente vez que el cursor
// sea rebobinado y sea reejecutado el comando.
$cursor->setReadPreference(MongoClient::RP_PRIMARY);
foreach ($cursor as $person) {
// ...
}
?>