(PECL mongo >=1.5.0)
MongoCollection::parallelCollectionScan — Returns an array of cursors to iterator over a full collection in parallel
$num_cursors
) : array[MongoCommandCursor]This method returns an array of a maximum of num_cursors cursors. An iteration over one of the returned cursors results in a partial set of documents for a collection. Iteration over all the returned cursors results in getting every document back from the collection.
This method is a wrapper for the parallelCollectionScan MongoDB command.
num_cursors
The number of cursors to request from the server. Please note, that the server can return less cursors than you requested.
Returns an array of MongoCommandCursor objects.
Example #1 MongoCollection::parallelCollectionScan() example
Returning all documents in a collection by using multiple cursors.
<?php
$m = new MongoClient;
$c = $m->demo->cities;
/* Request three cursors */
$cursors = $c->parallelCollectionScan( 3 );
/* Add all the cursors to the MultipleIterator */
$mi = new MultipleIterator( MultipleIterator::MIT_NEED_ANY );
foreach ( $cursors as $cursor )
{
$mi->attachIterator( $cursor );
}
/* Iterate over all the associated cursors */
foreach ( $mi as $items )
{
foreach ( $items as $item )
{
if ( $item !== NULL )
{
echo $item['name'], "\n";
}
}
}
?>