Я хотел бы запросить количество вызовов после определенной даты, суммировать их продолжительность, сгруппировать их по groupId, а затем подсчитать количество активных / неактивных участников.Активное / неактивное состояние представлено строкой.
Я попытался найти документацию и стековый поток на предмет синтаксиса выполнения условной суммы состояния, но я не могу найти никаких примеров этого после выполнения $группа
db.calls.aggregate(
{
$match : { createdAt: { $gte: ISODate("2019-05-02 18:58:46.284Z") } }
},
{
$group : {
_id : "$groupId",
totalCalls : { $sum : 1 },
totalDuration : { $sum : "$duration" },
totalInactiveState : { $count : "state.active" },
totalActiveState : { $count : "state.inactive" }
}
})