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

Jak przekonwertować zapytanie agregujące MongoDB na Laravel MongoDB autorstwa jenssegers

Obojgu lepiej jest korzystać z metod struktury agregacji, a także zagłębić się w surowy obiekt kolekcji MongoDB dostarczony z bazowego sterownika. To znacznie lepsza opcja niż próba przetłumaczenia składni:

// Returns the original Mongo Result
$result = DB::collection('changes')->raw(function($collection)
{
    return $collection->aggregate(array(
        array(
            '$group' => array(
                '_id' => '$field',
                'count' => array(
                    '$sum' => 1
                )
            )
        )   
    ));
});

Wynik jest trochę inny niż wynik metody takiej jak .group() ale używa natywnego kodu na serwerze MongoDB i nie opiera się na interpretacji JavaScript, jak .group() metoda faktycznie działa, będąc tak naprawdę opakowaniem wokół mapReduce.

Efekt końcowy jest znacznie szybszy, a także ogólnie bardziej wydajny niż w przypadku natywnego interfejsu frameworka.

Dlatego użyj natywnego sposobu MongoDB, aby uzyskać najlepszą wydajność.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nie można zainstalować sterownika mongo-php-driver w systemie OS X 10.11

  2. Mongoose __v kiedy to się zmienia

  3. Co to jest kursor w MongoDB?

  4. Spring data mongodb nie zamyka połączeń mongodb

  5. paszport.js - uwierzytelniaj użytkowników z MongoDB za pomocą paszportu lokalnego