Как использовать запрос Mongo в PHP?

У меня есть следующий запрос MongoDB:

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

Что выводит десять наиболее распространенных «типов преступлений», где поле CrimeLSOAName содержит «Брэдфорд». Я пытаюсь использовать запрос в 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 в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
22
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваш массив недействителен, это должно работать. Обычно это помогает отформатировать ваш массив аналогично конвейеру, который у вас есть в оболочке mongo.

$top10Crimes = array(
    array(
        '$match' => array(
            'CrimeLSOAName' => '.*Bradford.*/'
        )
    ),
    array(
        '$group' => array(
            '_id' => '$CrimeType',
            'count' => array(
                '$sum' => 1
            )
        )
    ),
    array(
        '$sort' => array(
            'count' => '-1'
        )
    ),
    array(
        '$limit' => '10'
    )
);

Другие вопросы по теме