MongoCursor::tailable

(PECL mongo >=0.9.4)

MongoCursor::tailableУстанавливает, останется ли этот курсор открытым после извлечения последних результатов

Описание

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

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 по » настраиваемым курсорам.

  • MongoCursor::awaitData() - Устанавливает, будет ли этот курсор некоторое время ждать, пока настраиваемый курсор вернет больше данных