Как выполнить aggregate в mongodb в Laravel framework

мне нужно получить результат следующего запроса в работе фрейма laravel (используется библиотека jenssegers)

db.product.aggregate({ $group : {_id : "$catid", total : { $sum : 1}}},
                                {$sort:{total:-1}});

Я пытался сделать это вот так

return DB::connection($this - > connection)- > 
          collection($this - > collection) - > aggregate(
        '{ $group : {_id : "$catid", total : { $sum : 1 }}},{$sort:{total:-1}}'');

но это дает ошибку как "ErrorException Undefined index: aggregate" нужно знать, как использовать MongoDB " db.коллекция.совокупность"

документ моей коллекции выглядит так

  {
     "_id": ObjectId("5369d68611fe14ddc5f59ff9"),
     "sku": 123456,
     "productid": 1,
     "name": "name1",
     "catid": 1
 }

2 ответов


вы можете получить доступ к методу aggregate в библиотеке Jenssegers через


попробуйте что-то вроде этого

db.product.aggregate(
     { "$group" : 
        { "_id" : "$catid", 
          "total" : { "$sum" : 1}
        }
     },
     { "$sort" : {"productid":-1} }
);