The PHP Online Conference 2021

MongoCursor::slaveOkay

(PECL mongo >=0.9.4)

MongoCursor::slaveOkayEstablece si esta consulta puede realizarse en un secundario [obsoleto]

Descripción

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

Este método está obsoleto desde la versión 1.5.0. Use en su lugar MongoCursor::setReadPreference() y Preferencias de lectura.

Al invocar a este método el controlador leerá de un secundario si:

  • Se está usando un conjunto de réplica, y
  • Se creó una instancia de MongoClient usando la opción "replicaSet" => "setName", y
  • Existe un secundario sano con el que puede conectarse el controlador.
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 invoca, se obtendran errores de tipo "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

Historial de cambios

Versión Descripción
1.5.0 Este método está obsoleto en favor de MongoCursor::setReadPreference() y Preferencias de lectura.

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top