(PECL mongo >=0.9.4)
MongoCursor::tailable — Establece si este cursor se dejará abierto después de obtener los últimos resultados
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().
tail
Si el cursor debería ser de seguimiento.
Devuelve este cursor.
Lanza una MongoCursorException si este cursor ha empezado a iterar.
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();
}
}
?>
La documentación principal de MongoDB sobre » sursores de seguimiento.