sql >> Databáze >  >> NoSQL >> MongoDB

Jak spustit agregaci v mongodb v laravel frameworku

K agregační metodě v knihovně Jenssegers můžete přistupovat pomocí raw() funkce.

Zde je příklad agregovaného volání se skupinou, řazením, limitem a projektem. Můžete si jej přizpůsobit svým potřebám:

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

Všimněte si, že pomocí raw() metoda vyžaduje použití kurzoru, protože se jedná o nízkoúrovňové volání.



  1. Které by měly být singleton v jedné aplikaci? MongoClient nebo MongoDatabase nebo MongoCollection?

  2. Porovnání 64bitového čísla se znaménkem pomocí 32bitových bitových operací v Lua

  3. Chyba MongoDB:Nelze použít opakovatelné zápisy s limitem=0

  4. mongoose node.js, dotaz s $lt a $gt nefunguje