MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да конвертирате заявка за агрегиране на MongoDB в Laravel MongoDB от jenssegers

И двамата е по-добре да използвате методите на рамката за агрегиране и да се потопите в необработения обект за събиране на MongoDB, предоставен от базовия драйвер, за да го направите. Това е много по-добър вариант от опитите за превод на синтаксиса:

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

Резултатът е малко по-различен от резултата на метод като .group() но това използва естествен код на MongoDB сървъра и не разчита на интерпретация на JavaScript като .group() всъщност го прави, тъй като всъщност е обвивка около mapReduce.

Крайният резултат е много по-бърз и като цяло по-ефективен, отколкото ще получите от интерфейса на родната рамка.

Затова използвайте собствения начин на MongoDB за най-добра производителност.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB Regex Търсене на целочислена стойност

  2. Mongo индексиране на обектни масиви срещу обекти

  3. Мога ли все още да имам достъп до фасет за контакт на ядрото на сайта, след като сесията бъде изчистена?

  4. MongoDB не опреснява данните автоматично?

  5. Грешка в MongoDB Atlas при извършване на транзакция на множество колекции (код 8000)