Я использую eagerCursor()
в createQueryBuilder
, чтобы избежать цикла for и собирать идентификаторы с помощью запроса одной группы.
Это значительно ускоряет выполнение определенной функции, я чувствую, что общее приложение замедляется,
Есть ли у кого-то такой же опыт работы с eagerCursor()
?
Пожалуйста, укажите недостатки, если таковые имеются?
$func = 'function (obj, prev) {prev.employeeIdsArr.push(obj._id)}';
$qry = $this->dm->createQueryBuilder('DocName')->eagerCursor(true)->hydrate(true)->group([], ['employeeIdsArr' => [], ])->reduce($func);
$employeeIds = array_map(function($var) {return $var->__toString();}, $tempIds[0]['employeeIdsArr']);
return $employeeIds;