【问题标题】:Laravel aggregate with mongo db give me errorLaravel 与 mongo db 聚合给我错误
【发布时间】:2019-12-24 16:19:39
【问题描述】:

我正在使用 Mongodb,当我在 Mongo 中运行查询时遇到问题,它成功但是当我重新编写它并在 Laravel 中运行它时,我收到了这个错误:

一个流水线阶段规范对象必须只包含一个字段。

这是我在 Mongodb 中直接执行的查询,并且运行良好:

db.logss.aggregate([
    {
        $group: {
            _id: "$ApplicationName",
            "count": {$sum: 1}
        }
    },
    {
        $sort: {"count": -1}
    }
]);

这是我在 Laravel 中的代码,但给我那个错误

return $collection->aggregate([
    [
        '$group'    => [
            '_id'   => '$ApplicationName',

            'count' => [
                '$sum'  => 1
            ]
        ],
        ['$sort' => ['count' => -1]] 
    ]
]);

【问题讨论】:

    标签: laravel mongodb aggregate


    【解决方案1】:

    这是一个 Mongo 错误,Mongo 抱怨管道不是“正确”格式,我想你只是错过了一个括号,试试这个:

    return $collection->aggregate([
        [
            '$group'    => [
                '_id'   => '$ApplicationName',
    
                'count' => [
                    '$sum'  => 1
                ]
            ]
        ],
        ['$sort' => ['count' => -1]]
    ]);
    

    【讨论】:

      猜你喜欢
      • 2015-12-21
      • 1970-01-01
      • 2021-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多