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

Как да изпълним aggregate в mongodb в laravel framework

Можете да получите достъп до обобщения метод в библиотеката на Jenssegers чрез raw() функция.

Ето пример за обобщено повикване с група, сортиране, ограничение и проект. Можете да го адаптирате към вашите нужди:

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

Имайте предвид, че използването на raw() изисква използването на курсор, тъй като е извикване на ниско ниво.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $lookup за агрегиране на MongoDb с чужди _id в масиви

  2. Множество полета, където ключовете в документа варират Средно агрегиране

  3. Намерете точки близо до LineString в mongodb, сортирани по разстояние

  4. Схеми във външен модул не работят в Node.js

  5. Връщане на резултатите mongoose в заявката за намиране към променлива