MongoDB\Driver\Cursor::getId

Returns the ID for this cursor

Description

final public MongoDB\Driver\CursorIdMongoDB\BSON\Int64 MongoDB\Driver\Cursor::getId(bool $asInt64 = false)

Returns the ID for this cursor, which uniquely identifies the cursor on the server.

Warning

Returning MongoDB\Driver\CursorId from this method has been DEPRECATED as of extension version 1.20.0. In version 2.0, the asInt64 argument will be removed and this method will always return a MongoDB\BSON\Int64 object.

Parameters

This function has no parameters.

Return Values

Returns the ID for this cursor. If asInt64 is true, the ID will be returned as a MongoDB\BSON\Int64 object; otherwise, it will be returned as a MongoDB\Driver\CursorId object and a deprecation notice will be emitted.

Errors/Exceptions

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

Changelog

Version Description
PECL mongodb 1.20.0 Deprecated returning a MongoDB\Driver\CursorId. Added the asInt64 argument to ease migration for future versions. If asInt64 is true, the ID will be returned as a MongoDB\BSON\Int64.

Examples

Example #1 MongoDB\Driver\Cursor::getId 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->getId(true));

?>

The above example will output something similar to:

object(MongoDB\BSON\Int64)#5 (1) {
  ["integer"]=>
  string(11) "94810124093"
}

See Also

  • MongoDB\Driver\CursorId
  • MongoDB\BSON\Int64