我正在使用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]]
]
]);
答案 0 :(得分:1)
这是一个Mongo错误,Mongo抱怨管道不是“正确”格式,我想在这里您只是错过了一个括号,请尝试以下操作:
return $collection->aggregate([
[
'$group' => [
'_id' => '$ApplicationName',
'count' => [
'$sum' => 1
]
]
],
['$sort' => ['count' => -1]]
]);