Laravel Mongodb原始Mongo查询与Carbon日期$ match和按年份分组

时间:2019-08-08 10:00:23

标签: laravel mongodb aggregate

我想在mongo中执行laravel version 5.7查询,以按年份获取合同数量并按某个日期范围进行过滤。

       $result = Contract::raw(function($collection)
       {

           $start_date = Carbon::createFromFormat("d-m-Y", '01-01-2017')->startOfDay();
           $end_date = Carbon::createFromFormat("d-m-Y", '03-08-2019')->startOfDay();


           return $collection->aggregate(array(
               array(
                   '$match' => array(
                       'created_at' => array(
                           '$gte' => $start_date,
                           '$lt' => $end_date,
                      )
                   )
               ),
               array(
                   '$group' => array(
                       '_id' => array(
                         'year'   => ['$year' => '$created_at'],
                       ),
                       'count' => array(
                           '$sum' => 1
                       )
                   )
               ) ,

           ));
       });
       dd($result);

$result此处显示空集合,请帮帮我。

0 个答案:

没有答案