MongoCollection::parallelCollectionScan

(PECL mongo >=1.5.0)

MongoCollection::parallelCollectionScanDevuelve un array con cursores para recorrer una colección completa en paralelo

Descripción

public MongoCollection::parallelCollectionScan ( int $num_cursors ) : array[MongoCommandCursor]

Este método devuelve un array con un número máximo de num_cursors cursores. Recorrer uno de los cursores devueltos iterará en un conjunto parcial de documentos de una colección. Recorrer todos los cursores devueltos resultará en la obtención de cada documento de la colección.

Este método es una envoltura para el comando parallelCollectionScan de MongoDB.

Parámetros

num_cursors

El número de cursores a solicitar al servidor. Observe que el servidor puede devolver menos cursores que los solicitados.

Valores devueltos

Devuelve un array de objetos MongoCommandCursor.

Ejemplos

Ejemplo #1 Ejmplo de MongoCollection::parallelCollectionScan()

Devolver todos los documentos de una colección empleando varios cursores.

<?php
$m 
= new MongoClient;
$c $m->demo->cities;

/* Solicitar tres cursores */
$cursores $c->parallelCollectionScan);

/* Añadir todos los cursores a MultipleIterator */
$mi = new MultipleIteratorMultipleIterator::MIT_NEED_ANY );
foreach ( 
$cursores as $cursor )
{
    
$mi->attachIterator$cursor );
}

/* Recorrer todos los cursores asociados */
foreach ( $mi as $items )
{
    foreach ( 
$items as $item )
    {
        if ( 
$item !== NULL )
        {
            echo 
$item['name'], "\n";
        }
    }
}
?>

Ver también