Класс MongoCommandCursor
(PECL mongo >=1.5.0)
Введение
Командный курсор похож на MongoCursor за исключением того, что он используется для перебора результатов команды базы данных вместо обычного запроса. Командные курсоры полезны для итерации больших наборов результатов, которые могут превышать ограничение размера документа (на данный момент – 16 МБ) одного ответа MongoDB::command().
Вы можете создавать командные курсоры, используя MongoCommandCursor::__construct() или метод фабрики MongoCommandCursor::createFromDocument(), как правило, используя специфичные для команды помощники, такие как MongoCollection::aggregateCursor().
Обратите внимание, что курсор не содержит результаты команды базы данных; он просто управляет итерацией. Таким образом, если вы печатаете курсор (например, с помощью var_dump() или print_r()), вы увидите объект курсора, но не документы результата.
Стадии курсора
MongoCommandCursor имеет две "жизненные стадии": до и после выполнения запроса. Когда курсор создан, он еще не связался с базой данных, поэтому он находится в состоянии перед выполнением запроса. Когда клиент впервые пытается получить результат (вызывая MongoCommandCursor::rewind(), прямо или косвенно), курсор переходит в состояние после выполнения запроса.
Размер пакета командного курсора и время ожидания сокета могут быть сконфигурированы как в состоянии до, так и после выполнения запроса.
Пример #1 Добавление параметров в MongoCommandCursor
<?php
$cursor = new MongoCommandCursor(...);
$cursor = $cursor->batchSize( 4 );
foreach ($cursor as $result) {
var_dump($result);
}
?>
Обзор классов
$connection
, string $hash
, array $document
) : MongoCommandCursorСмотрите также
Содержание
- MongoCommandCursor::batchSize — Ограничивает количество элементов, возвращаемых в одном пакете
- MongoCommandCursor::__construct — Создает новый командный курсор
- MongoCommandCursor::createFromDocument — Создает новый курсор команды из существующего ответа команды документа
- MongoCommandCursor::current — Возвращает текущий элемент
- MongoCommandCursor::dead — Проверяет, есть ли результаты, которые еще не были отправлены из базы данных
- MongoCommandCursor::getReadPreference — Получает предпочтения чтения для команды
- MongoCommandCursor::info — Получает информацию о создании и итерации курсора
- MongoCommandCursor::key — Возвращает индекс текущего результата в наборе результатов
- MongoCommandCursor::next — Перемещает курсор к следующему результату
- MongoCommandCursor::rewind — Выполняет команду и сбрасывает курсор на начало набора результатов
- MongoCommandCursor::setReadPreference — Устанавливает предпочтения чтения для команды
- MongoCommandCursor::timeout — Устанавливает время ожидания на стороне клиента для команды
- MongoCommandCursor::valid — Проверяет, читает ли курсор правильный результат