Что ж, у меня есть одна коллекция со слишком большим количеством документов (миллионов), и теперь я хочу знать, как рассчитать среднее значение продолжительности сеанса.
Это пример структуры моих документов:
{
"session" : "xyz",
"date" : {"$date" : ""Tue May 15 2018 10:35:08 GMT-0400 LT""}
}
{
"session" : "xyz",
"date" : {"$date" : ""Tue May 15 2018 12:35:08 GMT-0400 LT""}
}
{
"session" : "xyz",
"date" : {"$date" : ""Tue May 15 2018 15:35:08 GMT-0400 LT""}
}
{
"session" : "abc",
"date" : {"$date" : ""Tue May 15 2018 09:35:08 GMT-0400 LT""}
}
{
"session" : "abc",
"date" : {"$date" : ""Tue May 15 2018 11:35:08 GMT-0400 LT""}
}
И я хочу определить алгоритм следующим образом:
- Получить все документы по "$ session"
- Рассчитать минимальную (первую) дату и максимальную (последнюю) дату этих (2-х точечных) документов.
- Рассчитать продолжительность (разницу во времени) по сеансу
- Повторить первый 1-й пункт с другой "$ session"
- после вычисления всех средних по "$ session", вычислите среднее из этих итогов.
Я думаю, что сначала нужно использовать aggregate
с $ group, но у меня нет опыта с этим, и теперь у меня есть экзистенциальная проблема, хахаха
Спасибо