yii2 aggregation result exceeds maximum document size (16MB) -- Проблем, решение
Primary tabs
Обновлено: проблема закрыта выпуском обновления: https://github.com/yiisoft/yii2-mongodb/...
Проблема в том, как извлекает ответ с использованием курсора функция:
public function aggregate($collectionName, $pipelines, $options = [])
из vendor/yiisoft/yii2-mongodb/Command.php
-- но это проблему можно обойти написав свой метод: Прямо в контроллере:
/** * Патч для агрегации * * @param type $collection -- объект коллекции * @param type $pipeline -- папйплайн (запрос) * @return type */ private function aggregate($collection, $pipeline) { $cursor = \Yii::$app->mongodb->createCommand(\Yii::$app->mongodb->getQueryBuilder()->aggregate( $collection->name, $pipeline, ['allowDiskUse' => true, 'cursor' => ['batchSize' => $this->batchSize]]))->execute(); return $e = $cursor->toArray(); }
Пример вызова:
$report = Report::getCollection(); $e = $this->aggregate(report, $report_pipe);
- Log in to post comments
- 2656 reads