MONGOCOMMANDCURSOR(3) 1 MONGOCOMMANDCURSOR(3)
The MongoCommandCursor class
INTRODUCTION
A command cursor is similar to a MongoCursor except that you use it for iterating through the results of a database command instead of a
normal query. Command cursors are useful for iterating over large result sets that might exceed the document size limit (currently 16MB) of
a single MongoDB.command(3) response.
While you can create command cursors using MongoCommandCursor.__construct(3) or the MongoCommandCursor.createFromDocument(3) factory
method, you will generally want to use command-specific helpers such as MongoCollection.aggregateCursor(3).
Note that the cursor does not "contain" the database command's results; it just manages iteration through them. Thus, if you print a cur-
sor (f.e. with var_dump(3) or print_r(3)), you will see the cursor object but not the result documents.
CURSOR STAGES
A MongoCommandCursor has two "life stages": pre- and post- command. When a cursor is created, it has not yet contacted the database, so it
is in its pre-command state. When the client first attempts to get a result (by calling MongoCommandCursor.rewind(3), directly or indi-
rectly), the cursor moves into the post-command state.
The command cursor's batch size and socket timeout may be configured in both the pre- and post- command states.
Example #1
Adding options to MongoCommandCursor
<?php
$cursor = new MongoCommandCursor(...);
$cursor = $cursor->batchSize( 4 );
foreach ($cursor as $result) {
var_dump($result);
}
?>
CLASS SYNOPSIS
MongoCommandCursor
MongoCommandCursorMongoCursorInterfaceIterator
Methods
o public MongoCommandCursor MongoCommandCursor::batchSize (int $batchSize)
o public MongoCommandCursor::__construct (MongoClient $connection, string $ns, array $command = array())
o publicstatic MongoCommandCursor MongoCommandCursor::createFromDocument (MongoClient $connection, string $hash, array $document)
o public array MongoCommandCursor::current (void )
o public bool MongoCommandCursor::dead (void )
o public array MongoCommandCursor::getReadPreference (void )
o public array MongoCommandCursor::info (void )
o public int MongoCommandCursor::key (void )
o public void MongoCommandCursor::next (void )
o public array MongoCommandCursor::rewind (void )
o public MongoCommandCursor MongoCommandCursor::setReadPreference (string $read_preference, [array $tags])
o public MongoCommandCursor MongoCommandCursor::timeout (int $ms)
o public bool MongoCommandCursor::valid (void )
SEE ALSO
o MongoDB::command
o MongoCollection::aggregateCursor
PHP Documentation Group MONGOCOMMANDCURSOR(3)