(PECL mongo >=1.5.0)
MongoClient::killCursor — Разрушает определенный курсор на сервере
Расширение, задающее этот метод, объявлено устаревшим. Вместо него используйте расширение MongoDB. Никакой замены данному методу не предусмотрено.
$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'] );
?>