Выводить пустые результаты в статистику после агрегации данных в MongoDB

Я вывожу данные по пройденным тестам за определённый промежуток времени с разбиением по интервалам в 15 минут. Но в результатах мне приходят только интервалы за которые тесты проходили, не добавляя пустые интервалы в список. Есть ли возможность их добавить? Заранее благодарю за ответ.

Вот скрипт.

db.test_case_overview.aggregate(
[
    {  "$match" :  { "status": "PASSED" , "finished_at" : { "$gte" : "$from", "$lt" : "$to"  }}},
    { "$group": {
    "_id": {
     "interval": {"$toDate": {
        "$subtract": [
          { "$toLong": "$finished_at" },
          { "$mod": [ { "$toLong": "$finished_at" }, 900000 ] }
        ]
      }
    }},
    "count": { "$sum": 1 }
  }},
    { "$sort": { "_id.interval": 1 } },
    { "$project": {  "name" : "Passed tests",  "value" : "$count",  "ts" : "$_id.interval"} } 
])

Ожидание:

{ "_id" : { "realDate " : ISODate("2020-09-24T13:00:00Z") }, "name" : "Passed tests", "value" : 4, "ts" : ISODate("2020-09-24T13:00:00Z") }

{ "_id" : { "realDate " : ISODate("2020-09-24T13:15:00Z") }, "name" : "Passed tests", "value" : 0, "ts" : ISODate("2020-09-24T13:15:00Z") }

{ "_id" : { "realDate " : ISODate("2020-09-24T13:30:00Z") }, "name" : "Passed tests", "value" : 18, "ts" : ISODate("2020-09-24T13:30:00Z") }

{ "_id" : { "realDate " : ISODate("2020-09-24T13:45:00Z") }, "name" : "Passed tests", "value" : 0, "ts" : ISODate("2020-09-24T13:45:00Z") }

Реальность:

{ "_id" : { "realDate " : ISODate("2020-09-24T13:00:00Z") }, "name" : "Passed tests", "value" : 4, "ts" : ISODate("2020-09-24T13:00:00Z") }

{ "_id" : { "realDate " : ISODate("2020-09-24T13:30:00Z") }, "name" : "Passed tests", "value" : 18, "ts" : ISODate("2020-09-24T13:30:00Z") }


Ответы (0 шт):