У меня есть коллекция из 365 документов.Каждый документ выглядит следующим образом:
{
date: "2018-11-27T00:00:00.000Z",
title: "Went to school"
},
{
date: "2018-11-28T00:00:00.000Z",
title: "Bought a car"
}
Я хочу фильтровать документы по нескольким диапазонам данных.Пример:
- Показать только документы, созданные после
2018-01-04
и до 2018-11-24
- Результат не должен содержать документы, созданные в интервале
2018-05-06
- 2018-06-07
и т.д.
Пока я получил это:
const dates = await Calendar.aggregate(
[{
$match: {
$and: [{
date: {
$not: {
$lte: new Date(2018, 0, 7),
}
}
},
{
date: {
$not: {
$gte: new Date(2018, 10, 15)
}
}
},
{
date: {
$not: {
$gt: new Date(2018, 6, 31),
$lt: new Date(2018, 7, 15)
}
}
}
]
}
},
{
$project: {
title: 1,
date: 1
}
}
]
).sort('date')
Заранее спасибо!