Я новичок в запросах 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);
Но это дает мне пустой ответ. Буду признателен, если вы проверите запрос и дадите мне знать, что я здесь не так делаю?