sql >> Database >  >> NoSQL >> MongoDB

Hoe aggregaat in mongodb in laravel-framework uit te voeren?

U kunt toegang krijgen tot de aggregatiemethode in de Jenssegers-bibliotheek via de raw() functie.

Hier is een voorbeeld van een geaggregeerde oproep met groep, sortering, limiet en project. U kunt het aanpassen aan uw behoeften:

//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()));

Merk op dat het gebruik van de raw() methode vereist het gebruik van een cursor omdat het een aanroep op laag niveau is.



  1. Probleem met MongoDB GridFS Bestanden opslaan met Node.JS

  2. hoe te groeperen in mongoDB en alle velden in resultaat te retourneren

  3. telling van $opzoekresultaat mongodb

  4. Meertalige gegevensmodellering op MongoDB