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
] ) : MongoCommandCursorListe 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.
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
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-mongocommandcursor.setreadpreference.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.