(PECL mongo >=0.9.4)
MongoCursor::tailable — Устанавливает, останется ли этот курсор открытым после извлечения последних результатов
Mongo имеет функцию, известную как настраиваемые курсоры, которые похожи на Unix-команду "tail -f".
Настраиваемый курсор означает, что он не закрывается при получении последних данных. Скорее, курсор отмечает конечную позицию объекта. Вы можете возобновить использование курсора позже, с того места, где он был расположен, если было получено больше данных.
Как и любой "скрытый курсор", курсор может стать недействительным в какой-то момент, например, если последний объект, на который он ссылается, был удален. Таким образом, вы должны быть готовы к запросу, если курсор - MongoCursor::dead().
tail
Если курсор должен быть настраиваемым.
Возвращает курсор.
Выдает исключение MongoCursorException, если этот курсор начал итерацию.
Пример #1 Пример использования MongoCursor::tailable()
<?php
$cursor = $collection->find()->tailable();
$results = array();
while (1) {
if (!$cursor->hasNext()) {
// мы прочитали все результаты, выходим
if ($cursor->dead()) {
break;
}
// пока читаем все результаты, ждем дальше
sleep(10);
}
else {
$results[] = $cursor->getNext();
}
}
?>
Документация MongoDB по » настраиваемым курсорам.