(PECL mongo >=1.5.0)
MongoCollection::parallelCollectionScan — Devuelve un array con cursores para recorrer una colección completa en paralelo
$num_cursors
)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.
num_cursors
El número de cursores a solicitar al servidor. Observe que el servidor puede devolver menos cursores que los solicitados.
Devuelve un array de objetos MongoCommandCursor.
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( 3 );
/* Añadir todos los cursores a MultipleIterator */
$mi = new MultipleIterator( MultipleIterator::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";
}
}
}
?>