0

当我尝试使用 group 和 count 时出现此错误。

错误:

Aggregate.php 第 93 行中的 InvalidArgumentException:$pipeline 不是列表(意外索引:“$group”)

MongoDB 版本:3.2.9

jenssegers/mongodb 版本:3.1.0-alpha

这是我的代码。

$analytics = DB::collection('analytics')->raw( function ( $collection ) {
            return $collection->aggregate([
                '$group' => [
                    '_id'    => [ 'campaign_id' => '$campaign_id', 'type' => '$type' ],
                    'count'  => ['$sum' => 1],
                ]
            ]);
        });

我还尝试了此代码(将聚合包含在数组中)以下解决方案形成 此问题

$analytics = DB::collection('analytics')->raw( function ( $collection ) {
            return $collection->aggregate([
                [
                    '$group' => [
                        '_id'    => [ 'campaign_id' => '$campaign_id', 'type' => '$type' ],
                        'count'  => ['$sum' => 1],
                    ]
                ],
            ]);
        });

但这次错误是

已编译的.php 第 16079 行中的 UnexpectedValueException:响应内容必须是实现 __toString() 的字符串或对象,给定的“对象”。

4

0 回答 0