MongoCollection::parallelCollectionScan

(PECL mongo >=1.5.0)

MongoCollection::parallelCollectionScanReturns an array of cursors to iterator over a full collection in parallel

Description

public MongoCollection::parallelCollectionScan(int $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.

Parameters

num_cursors

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

Return Values

Returns an array of MongoCommandCursor objects.

Examples

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);

/* Add all the cursors to the MultipleIterator */
$mi = new MultipleIteratorMultipleIterator::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