MongoCursor::tailable

(PECL mongo >=0.9.4)

MongoCursor::tailableEstablece si este cursor se dejará abierto después de obtener los últimos resultados

Descripción

public MongoCursor::tailable ([ bool $tail = true ] ) : MongoCursor

Mongo posee una característica conocia como cursores de seguimiento ("tailable"), que son similares al comando de Unix "tail -f".

"De seguimiento" significa que el cursor no se cierra al obtener los últimos datos. En su lugar, el cursor marca la posición final del objeto. Se puede continuar usando el cursor más tarde, desde donde estaba ubicado, si se recibieron más datos.

Como cualquie "cursor latente", el cursor podría no ser válido en algún punto; por ejemplo, si el final del objeto al que hace referencia fue eliminado. Por lo tanto, se debería preparado para reconsultar si el cursor está MongoCursor::dead().

Parámetros

tail

Si el cursor debería ser de seguimiento.

Valores devueltos

Devuelve este cursor.

Errores/Excepciones

Lanza una MongoCursorException si este cursor ha empezado a iterar.

Ejemplos

Ejemplo #1 Ejemplo de MongoCursor::tailable()

<?php

$cursor 
$collection->find()->tailable();

$resultados = array();

while (
1) {
    if (!
$cursor->hasNext()) {
        
// we've read all the results, exit
        
if ($cursor->dead()) {
            break;
        }
        
// read all results so far, wait for more
        
sleep(10);
    }
    else {
        
$resultados[] = $cursor->getNext();
    }
}

?>

Ver también

La documentación principal de MongoDB sobre » sursores de seguimiento.

  • MongoCursor::awaitData() - Establece si el cursor esperará un momento a que un cursor de seguimiento devuelva más datos