MongoDB: как выполнить группировку по диапазону дат? - PullRequest
0 голосов
/ 29 мая 2020

Я новичок в MangoDB и узнал о его запросах. Недавно я столкнулся с проблемой, когда мне нужно объединить непрерывные диапазоны дат в один.

Например: Если у меня следующая коллекция mon go.

[
    {
        "startDate" : ISODate("2020-06-01T13:30:00.000+05:00"),
        "endDate" : ISODate("2020-06-01T14:00:00.000+05:00")
    },
    {
        "startDate" : ISODate("2020-06-01T14:00:00.000+05:00"),
        "endDate" : ISODate("2020-06-01T14:30:00.000+05:00")
    },
    {
        "startDate" : ISODate("2020-06-01T13:00:00.000+05:00"),
        "endDate" : ISODate("2020-06-01T13:30:00.000+05:00")
    },
    {
        "startDate" : ISODate("2020-06-01T14:30:00.000+05:00"),
        "endDate" : ISODate("2020-06-01T15:00:00.000+05:00")
    },



    {
        "startDate" : ISODate("2020-06-01T16:00:00.000+05:00"),
        "endDate" : ISODate("2020-06-01T16:30:00.000+05:00")
    },
    {
        "startDate" : ISODate("2020-06-01T16:30:00.000+05:00"),
        "endDate" : ISODate("2020-06-01T17:00:00.000+05:00")
    },
    {
        "startDate" : ISODate("2020-06-01T17:00:00.000+05:00"),
        "endDate" : ISODate("2020-06-01T17:30:00.000+05:00")
    },
    {
        "startDate" : ISODate("2020-06-01T17:30:00.000+05:00"),
        "endDate" : ISODate("2020-06-01T18:00:00.000+05:00")
    }
]

Я бы хотел, чтобы результат быть похожим.

[
    {
        "startDate": ISODate("2020-06-01T13:30:00.000+05:00"),
        "endDate": ISODate("2020-06-01T15:00:00.000+05:00")
    }, 
    {
        "startDate": ISODate("2020-06-01T16:00:00.000+05:00"),
        "endDate": ISODate("2020-06-01T18:00:00.000+05:00")
    }
]

Итак, вопрос в том, как я могу добиться того же в mongoDB?

...