MONGOCOMMANDCURSOR.CREATEFROMDOCUMENT(3) 1 MONGOCOMMANDCURSOR.CREATEFROMDOCUMENT(3)
MongoCommandCursor::createFromDocument - Create a new command cursor from an existing command response document
SYNOPSIS
publicstatic MongoCommandCursor MongoCommandCursor::createFromDocument (MongoClient $connection, string $hash, array $document)
DESCRIPTION
Use this method if you have a raw command result with cursor information in it. Note that cursors created with this method cannot be iter-
ated multiple times, as they will lack the original command necessary for re-execution.
PARAMETERS
o $connection
- Database connection.
o $hash
- The connection hash, as obtained through the third by-reference argument to MongoDB::command.
o $document
- Document with cursor information in it. This document needs to contain the id, ns and firstBatch fields. Such a document is
obtained by calling the MongoDB::command with appropriate arguments to return a cursor, and not just an inline result. See the
example below.
RETURN VALUES
Returns the new cursor.
EXAMPLES
Example #1
MongoCommandCursor.createFromDocument(3)
<?php
$m = new MongoClient;
$d = $m->demo;
// Define the aggregation pipeline
$pipeline = [
[ '$group' => [
'_id' => '$country_code',
'timezones' => [ '$addToSet' => '$timezone' ]
] ],
[ '$sort' => [ '_id' => 1 ] ],
];
// Execute the command. The "cursor" option instructs the server to return
// cursor information in the response instead of inline results.
$r = $d->command(
[
'aggregate' => 'cities',
'pipeline' => $pipeline,
'cursor' => [ 'batchSize' => 1 ],
],
null,
$hash
);
// Show result and hash
var_dump( $r, $hash );
// Construct the command cursor
$cursor = MongoCommandCursor::createFromDocument( $m, $hash, $r );
?>
The above example will output something similar to:
array(2) {
["cursor"]=>
array(3) {
["id"]=>
object(MongoInt64)#5(1) {
["value"]=>
string(12) "392143983421"
}
["ns"]=>
string(11) "demo.cities"
["firstBatch"]=>
array(1) {
[0]=>
array(2) {
["_id"]=>
string(2) "AD"
["timezones"]=>
array(1) {
[0]=>
string(14) "Europe/Andorra"
}
}
}
}
["ok"]=>
float(1)
}
string(25) "localhost:27017;-;.;17617"
As you can see, the returned cursor information has the id, ns and firstBatch fields.
SEE ALSO
MongoCommandCursor.__construct(3).
PHP Documentation Group MONGOCOMMANDCURSOR.CREATEFROMDOCUMENT(3)