Класс 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);

foreach (
$cursor as $result) {
    
var_dump($result);
}
?>

Обзор классов

MongoCommandCursor implements MongoCursorInterface , Iterator {
/* Методы */
public batchSize ( int $batchSize ) : MongoCommandCursor
public __construct ( MongoClient $connection , string $ns , array $command = array() )
public static createFromDocument ( MongoClient $connection , string $hash , array $document ) : MongoCommandCursor
public current ( ) : array
public dead ( ) : bool
public getReadPreference ( ) : array
public info ( ) : array
public key ( ) : int
public next ( ) : void
public rewind ( ) : array
public setReadPreference ( string $read_preference , array $tags = ? ) : MongoCommandCursor
public timeout ( int $ms ) : MongoCommandCursor
public valid ( ) : bool
}

Содержание