【问题标题】:How to use a Mongo query in PHP?如何在 PHP 中使用 Mongo 查询?
【发布时间】:2019-05-20 17:00:19
【问题描述】:

我有以下 MongoDB 查询:

db.crimes.aggregate([
{ $match: {"CrimeLSOAName":/.*Bradford.*/} },
{
    $group: {
    "_id": "$CrimeType",
    "count": {
        $sum: 1
        }
    }
},
{
$sort: {
    "count": -1
}
},
{
    $limit: 10
}
])

它输出十个最常见的“犯罪类型”,其中犯罪LSOAName 字段包含“布拉德福德”。我正在尝试在 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);

【问题讨论】:

    标签: php database mongodb


    【解决方案1】:

    您的数组无效,这应该可以。它通常有助于格式化您的数组,类似于您在 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'
        )
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-15
      • 1970-01-01
      • 2016-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多