MongoDB\Driver\Cursor::getId

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::getIdReturns the ID for this cursor

说明

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

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

警告

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.

参数

此函数没有参数。

返回值

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.

错误/异常

更新日志

版本 说明
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.

示例

示例 #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));

?>

以上示例的输出类似于:

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