我有以下MongoDB查询:
db.crimes.aggregate([
{ $match: {"CrimeLSOAName":/.*Bradford.*/} },
{
$group: {
"_id": "$CrimeType",
"count": {
$sum: 1
}
}
},
{
$sort: {
"count": -1
}
},
{
$limit: 10
}
])
哪个输出十个最常见的“ CrimeTypes”,其中CrimeLSOAName字段包含“ Bradford”。我正在尝试在PHP中使用查询,下面是我的尝试,但是查询无法正确运行。如果有人可以提供帮助,将不胜感激。
尝试在PHP中使用:
$top10Crimes = array(
array('$match') => array('CrimeLSOAName:/.*Bradford.*/'),
array(('$group') => array('_id' => '$CrimeType',
'count' => '$sum: 1')),
array('$sort') => array('count' => '-1')
array('$limit' => '10')
);
$result = $collection->aggregate($top10Crimes);
答案 0 :(得分:0)
您的数组无效,这应该可以工作。通常,它有助于格式化数组,使其类似于mongo shell中的管道。
$top10Crimes = array(
array(
'$match' => array(
'CrimeLSOAName' => '.*Bradford.*/'
)
),
array(
'$group' => array(
'_id' => '$CrimeType',
'count' => array(
'$sum' => 1
)
)
),
array(
'$sort' => array(
'count' => '-1'
)
),
array(
'$limit' => '10'
)
);