MongoCollection::parallelCollectionScan

(PECL mongo >=1.5.0)
Returns an array of cursors to iterator over a full collection in parallel
public array[MongoCommandCursor] MongoCollection::parallelCollectionScan ( int $num_cursors )

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.

Parameters:
num_cursors

The number of cursors to request from the server. Please note, that the server can return less cursors than you requested.

Returns:

Returns an array of MongoCommandCursor objects.

Examples:
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";
        }
    }
}
?>

See also:

MultipleIterator -

MongoCommandCursor -

MongoDB::command() -

doc_php
2016-02-24 16:20:38
Comments
Leave a Comment

Please login to continue.