Мне интересно, возможно ли следующее в MongoDB.
У меня есть коллекция документов, которые представляют изменения в некотором значении во времени:
{
"day" : ISODate("2018-12-31T23:00:00.000Z"),
"value": [some integer value]
}
Нет никаких «дырок» вданные, у меня есть записи для всех дней в некотором периоде.
Можно ли запросить эту коллекцию, чтобы получить только те документы, которые имеют значение, отличное от предыдущего (при сортировке по дням asc)?Например, имея следующие документы:
{
"day" : ISODate("2019-04-01T00:00:00.000Z"),
"value": 10
},
{
"day" : ISODate("2019-04-02T00:00:00.000Z"),
"value": 10
},
{
"day" : ISODate("2019-04-03T00:00:00.000Z"),
"value": 15
},
{
"day" : ISODate("2019-04-04T00:00:00.000Z"),
"value": 15
},
{
"day" : ISODate("2019-04-05T00:00:00.000Z"),
"value": 15
},
{
"day" : ISODate("2019-04-06T00:00:00.000Z"),
"value": 10
}
Я хочу получить документы на 2018-04-01, 2018-04-03 и 2018-04-06.
Я отправляю этот вопросеще раз, потому что предыдущий был ошибочно помечен как дубликат.