In certain situations it might be needed to kill a cursor on the server. Usually cursors time out after 10 minutes of inactivity, but it is possible to create an immortal cursor with MongoCursor::immortal() that never times out. In order to be able to kill such an immortal cursor, you can call this method with the information supplied by MongoCursor::info().
The server hash that has the cursor. This can be obtained through MongoCursor::info().
The ID of the cursor to kill. You can either supply an int containing the 64 bit cursor ID, or an object of the MongoInt64 class. The latter is necessary on 32 bit platforms (and Windows).
Returns TRUE
if the method attempted to kill a cursor, and FALSE
if there was something wrong with the arguments (such as a wrong server_hash
). The return status does not reflect where the cursor was actually killed as the server does not provide that information.
This method displays a warning if the supplied server_hash
does not match up with an existing connection. No attempt to kill a cursor is attempted in that case either.
This example shows how to connect, do a query, obtain the cursor information and then kill the cursor.
<?php $m = new MongoClient(); $c = $m->testdb->collection; $cursor = $c->find(); $result = $cursor->next(); // Now the cursor is valid, so we can get the hash and ID out: $info = $cursor->info(); // Kill the cursor MongoClient::killCursor( $info['server'], $info['id'] ); ?>
Please login to continue.