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
- 3111 reads