sql >> Database teknologi >  >> NoSQL >> MongoDB

Sådan udføres aggregat i mongodb i laravel framework

Du kan få adgang til aggregatmetoden på Jenssegers-biblioteket via raw() funktion.

Her er et eksempel på et samlet opkald med gruppe, sortering, grænse og projekt. Du kan tilpasse det til dine 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()));

Bemærk, at du bruger raw() metode kræver brug af en markør, fordi det er et lavt niveau opkald.



  1. I Flask konverter form POST-objekt til en repræsentation, der er egnet til mongodb

  2. mongodb find efter flere array-elementer

  3. Meteor klient side sortering Samling

  4. Inden $unwind skal du kontrollere, om underdokumentet ikke er tomt