sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man kör aggregat i mongodb i laravel framework

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.



  1. Hur väljer man ett enskilt fält i MongoDB med Pymongo?

  2. Hur kan jag skapa ett index med pymongo

  3. MongoDB -- stort antal databaser

  4. Löser UnhandledPromiseRejectionWarning i uttrycklig postbegäran