При использовании агрегации через устаревший драйвер MongoDB без указания опций возникает ошибка
Throwable; type: [MongoResultException]; code: [9]; message: [localhost:27017: The ‘cursor’ option is required, except for aggregate with the explain argument]; err level: [1 (E_ERROR)]
Внятного описания в документации, что именно должно быть передано в параметре cursor, нет. Так как драйвер ждёт объект, избавиться от ошибки можно, передав в параметрах метода aggregate() в опции cursor пустой объект:
$pipeline = array(array( '$group' => array( '_id' => null, 'min' => array('$min' => '$update_time'), 'max' => array('$max' => '$update_time'), ), )); $options = array('cursor' => new stdClass()); $res = $MongoCollection->aggregate($pipeline, $options);
Пример выше показывает, как выбрать из коллекции минимальную и максимальную запись.