MongoCursor
PHP Manual

MongoCursor::slaveOkay

(PECL mongo >=0.9.4)

MongoCursor::slaveOkayEstablece si esta consulta puede realizarse en un secundario

Descripción

public MongoCursor MongoCursor::slaveOkay ([ bool $okay = true ] )

Al invocar a este método hará que el controlador lea de un secundario si:

Se puede comprobar el servidor que se usó para esta consulta invocando a MongoCursor::info() después de ejecutarla. Su campo server mostrará el servidor al que se le envió la consulta.

Observe que se debería usar esta función incluso si no se utiliza la asignación de rutas automática a secundarios. Si se contecta directamente a un secundario de un conjunto de réplica, aún será necesario llamar a esta función, que básicamente le indica a la base de datos que se está al tanto de que se podrían obtener datos antiguos, aceptándolo. Si no se le invoca, se obtendran errores de "sin maestro" al intentar realizar la consulta.

Este método anulará a la variable de clase estática MongoCursor::$slaveOkay. También anulará a Mongo::setSlaveOkay(), MongoDB::setSlaveOkay() y MongoCollection::setSlaveOkay().

Parámetros

okay

Si se acepta consultar al secundario.

Valores devueltos

Devuelve este cursor.

Errores/Excepciones

Lanza una MongoCursorException si este cursor ha empezado a iterar.

Ejemplos

Ejemplo #1 Ejemplo de MongoCursor::slaveOkay()

<?php

MongoCursor
::$slaveOkay false;

// no se puede consultar al secundario
$cursor $collection->find();

// se puede consultar al secundario
$cursor $collection->find()->slaveOkay();

MongoCursor::$slaveOkay true;

// se puede consultar al secundario
$cursor $collection->find();

// no se puede consultar al secundario
$cursor $collection->find()->slaveOkay(false);

?>

Ver también


MongoCursor
PHP Manual