(PECL mongo >=0.9.4)
MongoCursor::slaveOkay — Définit si la requête peut être effectuée sur un serveur esclave
L'appel à cette méthode fera que la driver liera sur les esclaves si :
Notez que vous devriez utiliser cette fonction même si vous n'utilisez pas la lecture automatique sur les esclaves. Si vous vous connectez directement sur un secondaire d'un jeu de réplications, vous devrez continuer d'utiliser cette méthode, qui informe la base de données que vous êtes prêt à recevoir d'anciennes données. Si vous ne l'appelez pas, vous recevrez une erreur de type "not master" lors de l'exécution de la requête.
Cette méthode écrasera la variable statique MongoCursor::slaveOkay. Elle écrasera aussi Mongo::setSlaveOkay(), MongoDB::setSlaveOkay() et MongoCollection::setSlaveOkay().
okay
Si l'on peut effectuer la requête sur un serveur esclave.
Returns this cursor.
Lance une exception MongoCursorException si le curseur a commencé à être parcouru.
Exemple #1 Exemple avec MongoCursor::slaveOkay()
<?php
MongoCursor::$slaveOkay = false;
// On ne peut pas faire la requête sur un serveur escalve
$cursor = $collection->find();
// On peut faire la requête sur un serveur esclave
$cursor = $collection->find()->slaveOkay();
MongoCursor::$slaveOkay = true;
// On peut faire la requête sur un serveur esclave
$cursor = $collection->find();
// On ne peut pas faire la requête sur un serveur escalve
$cursor = $collection->find()->slaveOkay(false);
?>