Możesz uzyskać dostęp do metody agregującej w bibliotece Jenssegers za pomocą raw()
funkcja.
Oto przykład połączenia zbiorczego z grupą, sortowaniem, limitem i projektem. Możesz dostosować go do swoich potrzeb:
//Perform an aggregate function and get a cursor
$cursor = Data::raw()->aggregate([
['$group' =>
['_id' => '$name', 'count' => ['$sum' => 1]]
],
['$sort' => ['count' => -1]],
['$limit' => 30],
['$project' => ['_id' => 0,
'text' => '$_id',
'size' => '$count',
]
],
]);
//Iterate your cursor
$current = $cursor;
do {
echo $current; //Process each element
} while (!($current = $cursor->next()));
Zauważ, że używając raw()
metoda wymaga użycia kursora, ponieważ jest to wywołanie niskiego poziomu.