MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak wykonać agregację w mongodb w frameworku laravel

Możesz uzyskać dostęp do metody agregującej w bibliotece Jenssegers za pomocą raw() funkcja.

Oto przykład połączenia zbiorczego z grupą, sortowaniem, limitem i projektem. Możesz dostosować go do swoich potrzeb:

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

Zauważ, że używając raw() metoda wymaga użycia kursora, ponieważ jest to wywołanie niskiego poziomu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nie można połączyć się ze zdalnym serwerem mongodb

  2. MongoDB:Jak wyłączyć rejestrowanie ostrzeżenia:ClientCursor::staticYield nie może odblokować b/c blokady rekurencyjnej?

  3. Jak zrobić grupę mongo po stronie serwera Meteor

  4. Najlepszy sposób na czytanie i aktualizowanie dokumentów mongodb za pomocą pymongo

  5. Jak zwrócić wartości wariantów każdego produktu, jeśli ten produkt jest wariantem?