(PECL mongo >=1.5.0)
MongoClient::killCursor — Elimina un cursor específico del servidor
$server_hash
, int|MongoInt64 $id
)En ciertas situaciones, podría ser necesario eliminar un cursor del servidor. Normalmente, los cursores expiran tras 10 minutos de inactividad, pero es posible crear un cursor inmortal con MongoCursor::immortal() que nunca expira. Para poder eliminar dicho cursor inmortal, se puede llamar a este método con la información proporcionada por MongoCursor::info().
server_hash
El hash del servidor que posee el cursor. Puede obtenerse a través de MongoCursor::info().
id
El ID del cursor a eliminar. Se puede proporcionar un valor de tipo int que contenga el ID de 6a bits del cursor , o un objeto de la clase MongoInt64. Lo último es necesario en plataformas de 32 bits (y en Windows).
Devuelve TRUE
si el método intentó eliminar el cursor, y FALSE
si
había algo erróneo en los argumentos (tal como un
server_hash
erróneo). El estado devuelto no
refleja dónde fue elminado el cursor, ya que el servidor no
proporciona tal información.
Este método muestra una advertencia si el
server_hash
proporcionado no coincide con una conexión
existente. No intentar eliminar un cursor tampoco se intenta en este caso.
Ejemplo #1 Ejemplo de MongoClient::killCursor()
Este ejemplo muestra cómo conectarse, realizar una consulta, obtener la información del cursor y luego eliminarlo.
<?php
$m = new MongoClient();
$c = $m->testdb->collection;
$cursor = $c->find();
$resultado = $cursor->next();
// Ahora el cursor es válido, por lo que se puede obtener el hash y el ID:
$info = $cursor->info();
// Eliminar el cursor the cursor
MongoClient::killCursor( $info['server'], $info['id'] );
?>