Запрос агрегации ODM доктрины Mongodb не работает - PullRequest
0 голосов
/ 23 мая 2019

Я новичок в запросах MongoDB и ODM, пытаюсь сгруппировать записи с использованием агрегата, но почему-то это не дает ожидаемого результата.

У меня есть следующий документ в коллекции заказов:

{
    "_id" : ObjectId("5cc1ba94aa183400320eddd7"),
    "payment_status" : "unpaid",
    "total" : {
        "amount" : 1000,
        "currency" : "USD"
    }
}
{
    "_id" : ObjectId("5cc1ba94aa183400320eddd7"),
    "payment_status" : "unpaid",
    "total" : {
        "amount" : 2000,
        "currency" : "USD"
    }
}

Я пытаюсь объединить записи, используя следующий запрос:

            ->getDocumentCollection(Orders::class)
            ->aggregate(
                [
                    [
                        '$group' => [
                            '_id' => '$total',
                            'total' => ['$sum' => '$total.amount'],
                        ],
                    ],
                    [
                        '$match' => [
                            'payment_status' => 'unpaid',
                        ],
                    ],
                ],
                [
                    'cursor' => new \stdClass(),
                ]
            )->toArray(false);

Но это дает мне пустой ответ. Буду признателен, если вы проверите запрос и дадите мне знать, что я здесь не так делаю?

...