MongoCommandCursor::setReadPreference

(PECL mongo >=1.6.0)

MongoCommandCursor::setReadPreferenceEstablecer la preferencia de lectura para este comando

Descripción

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

Parámetros

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.

Valores devueltos

Returns this cursor.

Errores/Excepciones

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.

Ejemplos

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

// 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) {
    
// ...
}

?>

Ver también