MongoCommandCursor
PHP Manual

MongoCommandCursor::setReadPreference

(PECL mongo >=1.6.0)

MongoCommandCursor::setReadPreferenceSet the read preference for this command

Descripción

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

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

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

?>

Ver también


MongoCommandCursor
PHP Manual