如何在PHP中使用Mongo查询?

时间:2019-05-20 17:00:20

标签: php database mongodb

我有以下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);

1 个答案:

答案 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'
    )
);