MongoClient::killCursor

(PECL mongo >=1.5.0)

MongoClient::killCursorРазрушает определенный курсор на сервере

Расширение, задающее этот метод, объявлено устаревшим. Вместо него используйте расширение MongoDB. Никакой замены данному методу не предусмотрено.

Описание

public MongoClient::killCursor ( string $server_hash , int|MongoInt64 $id ) : bool

В определенных ситуациях может потребоваться разрушить курсор на сервере. Обычно время ожидания курсора истекает после 10 минут бездействия, но возможно создать вечный курсор с MongoCursor::immortal(), который никогда не истекает. Чтобы иметь возможность разрушить такой вечный курсор, вы можете вызвать этот метод с информацией, предоставленной MongoCursor::info().

Список параметров

server_hash

Хеш сервера с курсором. Может быть получено через MongoCursor::info().

id

Идентификатор курсора для разрушения. Вы можете предоставить либо int, содержащий 64-битный идентификатор курсора, либо объект класса MongoInt64.

Возвращаемые значения

Возвращает TRUE, если метод пытался разрушить курсор, и FALSE, если с аргументами было что-то не так (например, неправильный server_hash). Статус возврата не отражает, где курсор был фактически разрушен, поскольку сервер не предоставляет эту информацию.

Ошибки

Метод отображает предупреждение, если предоставленный server_hash не совпадает с существующим соединением. В этом случае также не предпринимаются попытки разрушить курсор.

Примеры

Пример #1 Пример использования MongoClient::killCursor()

В этом примере показано, как подключиться, выполнить запрос, получить информацию о курсоре и затем разрушить его.

<?php
$m 
= new MongoClient();
$c $m->testdb->collection;
$cursor $c->find();
$result $cursor->next();

// Теперь курсор корректен, поэтому мы можем получить хеш и идентификатор:
$info $cursor->info();

// Разрушаем курсор
MongoClient::killCursor$info['server'], $info['id'] );
?>