Du kan komma åt aggregatmetoden på Jenssegers bibliotek via raw()
funktion.
Här är ett exempel på ett aggregerat samtal med grupp, sortering, limit och projekt. Du kan anpassa den efter dina behov:
//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()));
Observera att du använder raw()
metoden kräver att du använder en markör eftersom det är ett lågnivåanrop.