MongoCollection::parallelCollectionScan

(PECL mongo >=1.5.0)

MongoCollection::parallelCollectionScanВозвращает массив курсоров в итератор по всей параллельной коллекции

Описание

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

Этот метод возвращает массив максимум num_cursors из курсоров. Итерация по одному из возвращенных курсоров приводит к частичному набору документов для коллекции. Итерация по всем возвращенным курсорам приводит к тому, что каждый документ возвращается из коллекции.

Этот метод является оболочкой для команды parallelCollectionScan MongoDB.

Список параметров

num_cursors

Количество курсоров, запрашиваемых с сервера. Обратите внимание, что сервер может вернуть меньше курсоров, чем вы запрашивали.

Возвращаемые значения

Возвращает массив объектов MongoCommandCursor.

Примеры

Пример #1 Пример использования MongoCollection::parallelCollectionScan()

Возврат всех документов в коллекции с использованием нескольких курсоров.

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

/* Запрашиваем три курсора */
$cursors $c->parallelCollectionScan);

/* Добавляем все курсоры в MultipleIterator */
$mi = new MultipleIteratorMultipleIterator::MIT_NEED_ANY );
foreach ( 
$cursors as $cursor )
{
    
$mi->attachIterator$cursor );
}

/* Итерация по всем связанным курсорам */
foreach ( $mi as $items )
{
    foreach ( 
$items as $item )
    {
        if ( 
$item !== NULL )
        {
            echo 
$item['name'], "\n";
        }
    }
}
?>

Смотрите также