Я пытаюсь понять, как запрашивать мои данные с помощью MQL. Мой набор данных выглядит примерно так:
{
"_id": {
"$oid": "5dcadda84d59f2e0b0d56974"
},
"object_kind": "pipeline",
"object_attributes": {
"status": "success",
"created_at": "2019-11-12 16:28:22 UTC",
"variables": []
}
},
{
"_id": {
"$oid": "5dcadda84d59f2e0b0d56998"
},
"object_kind": "pipeline",
"object_attributes": {
"status": "failed",
"created_at": "2019-11-13 12:22:22 UTC",
"variables": []
}
}
Я добавляю $eventDate
, используя это в моей агрегации, которая работает:
{
eventDate: { $dateFromString: {
dateString: {
$substr: [ "$object_attributes.created_at",0, 10 ]
}
}},
}
И я пытаюсь повернуть его в это:
{
"eventDate": "2019-11-12",
"counts": {
"success": 1,
"failure": 0
}
},
{
"eventDate": "2019-11-13",
"counts": {
"success": 0,
"failure": 1
}
},
Пока что я не могу понять, как сгруппировать данные дважды, как если бы я группировал по "$ eventDate", тогда я не мог бы тогда группировать по статусу. Почему я не могу просто сгруппировать все документы из одного и того же $eventDate
в массив, не теряя все остальные поля?
Было бы идеально, если бы поля success
и failure
могли быть выведены из разных статусов, которые появляются в object_attributes.status