MongoCommandCursor::setReadPreference
(PECL mongo >=1.6.0)
MongoCommandCursor::setReadPreference — Défini les préférences de lecture pour cette commande
Description
$read_preference
[, array $tags
] )Liste de paramètres
-
read_preference -
Le mode de préférence de lecture :
MongoClient::RP_PRIMARY,MongoClient::RP_PRIMARY_PREFERRED,MongoClient::RP_SECONDARY,MongoClient::RP_SECONDARY_PREFERRED, ouMongoClient::RP_NEAREST. -
tags -
Un tableau de zéro ou plusieurs jeux de tags, où chaque jeu de tags est lui même un tableau de critères utilisés pour faire correspondre les tags sur les membres du jeu de réplication.
Valeurs de retour
Retourne le curseur.
Erreurs / Exceptions
Emets une alerte de niveau E_WARNING si soit le paramètre est invalide, soit si un ou plusieurs jeux de tags sont fournis avec le mode de préférence de lecture MongoClient::RP_PRIMARY.
Exemples
Exemple #1 Exemple avec MongoCommandCursor::setReadPreference() et un tableau de jeux de tag
<?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 ] ],
] );
// Préférer le serveur le plus proche dans le centre de données "east" également
// utilisé pour le rporting, mais utilise le centre de données "west" en cas de problème
$cursor->setReadPreference(MongoClient::RP_NEAREST, [
[ 'dc' => 'east', 'use' => 'reporting' ],
[ 'dc' => 'west' ],
] );
foreach ($cursor as $person) {
// ...
}
// Si les préférences de lecture sont changées, elles seront utilisées la
// prochaine fois que le curseur sera ré-initialisé et que la commande sera
// ré-exécutée.
$cursor->setReadPreference(MongoClient::RP_PRIMARY);
foreach ($cursor as $person) {
// ...
}
?>
Voir aussi
- La documentation sur les préférences de lecture.
- MongoCommandCursor::getReadPreference() - Récupère les préférences de lecture pour cette commande
- MongoCursorInterface::setReadPreference() - Définit les préférences de lecture pour cette requête