Запрос MongoDB для агрегатной функции, возвращающей пустой результат - PullRequest
0 голосов
/ 11 июня 2018

Ниже приведен запрос, который я написал, чтобы получить количество, основанное на имени события.

$data= DB::collection(Events::$collection)->raw(function($collection) {
    return $collection->aggregate([
    ['$match' => ['appid' => 1]],
    ['$group' => ['_id' =>['Event' =>'$Event'], 'count' =>['$sum'=>1]]]
    ]);
});

Когда я распечатываю вышеуказанный запрос с помощью журнала laravel eloquent, он отображает вывод следующим образом:

Array ( 
[query] => events.aggregate([{"$match":{"appid":1}},{"$group":{"_id":{"Event":"$Event"},"count":{"$sum":1}}}]) 
[bindings] => Array ( ) [time] => 9.93 
)

Запрос к базе данных следующим образом:

db.events.aggregate([{"$match":{"appid":1}},{"$group":{"_id":{"Event":"$Event"},"count":{"$sum":1}}}])

То же самое, если я запускаю в NoSQLBooster для MongoDB, то он корректно перенастраивает результат.

Но запрос laravel mongodb из приведенного выше возвращает пустой результат.Я не понимаю, в чем проблема.Нужна помощь.

Я использую следующую версию laravel и mongodb.

Laravel Version : 5.4
MongoDB Version : 3.6

Заранее спасибо.

...