MongoCursor::awaitData

(PECL mongo >=1.2.11)

MongoCursor::awaitDataEstablece si el cursor esperará un momento a que un cursor de seguimiento devuelva más datos

Descripción

public MongoCursor::awaitData ([ bool $wait = true ] ) : MongoCursor

Este método se usa con cursores de seguimiento. Si se está al final de los datos, se bloquea un momento en lugar de no devolver datos. Después de un tiempo de espera, se devuelve de la manera normal.

Parámetros

wait

Si el cursor debería esperar a que estén disponibles más datos.

Valores devueltos

Devuelve este cursor.

Errores/Excepciones

Lanza una MongoCursorException si este cursor ha empezado a iterar.

Ejemplos

Ejemplo #1 Ejemplo de MongoCursor::awaitData()

En este ejemplo, le seguimos la pista a "oplog" y, en lugar de dormir durante cada iteración, se establece la opción MongoCursor::awaitData(). MongoCursor::hasNext() ahora bloqueará hasta que haya más datos disponibles.

<?php
$m 
= new MongoClient'mongodb://localhost:13000', array( 'replSet' => 'seta' ) );
$c $m->local->selectCollection'oplog.rs' );
$cursor $c->find( array( 'ns' => 'demo.article''op' => 'i' ) );
$cursor->tailabletrue );
$cursor->awaitDatatrue );

while (
true) {
    if (!
$cursor->hasNext()) {
        
// we've read all the results, exit
        
if ($cursor->dead()) {
            break;
        }
    } else {
        
var_dump$cursor->getNext() );
    }
}
?>

Ver también

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

  • MongoCursor::tailable() - Establece si este cursor se dejará abierto después de obtener los últimos resultados