MongoDB\Driver\Cursor::isDead

Checks if the cursor is still open on the server

Description

final public bool MongoDB\Driver\Cursor::isDead ( void )

Returns whether the cursor is still open on the server (i.e. the server has more results that have yet to be sent to the client).

A cursor being "dead" does not mean that it cannot be iterated further. The database sends responses in batches of documents (up to 4MB of documents per response). The client's cursor may still have results to be iterated even if the server has no more batches to send.

Parameters

This function has no parameters.

Return Values

Returns TRUE if there are more results that have not yet been sent to the client, and FALSE otherwise.

Errors/Exceptions

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Examples

Example #1 MongoDB\Driver\Cursor::isDead example

<?php

/* In this example, we insert several documents into the collection and specify
 * a smaller batchSize to ensure that the first batch contains only a subset of
 * our results and the cursor remains open on the server. */
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$query = new MongoDB\Driver\Query([], ['batchSize' => 2]);

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection'$bulk);

$cursor $manager->executeQuery('db.collection'$query);

var_dump($cursor->isDead());
$cursor->toArray();
var_dump($cursor->isDead());

?>

The above example will output:

bool(false)
bool(true)