У меня есть объекты с дополнительными свойствами startDate и endDate
Я бы хотел запросить мои объекты как:
startDate равно нулю или больше
чем сегодня И endDate равно
Нуль или меньше, чем сегодня.
Если бы у меня была только одна единственная дата, я бы, конечно, использовал оператор "или"
{$or : [{startDate : null}, {startDate : {$gte : new Date()}}]}
Тогда я мог бы сделать сложный запрос, подобный
{$or : [{startDate : null, endDate : null},
{startDate : {$gte : new Date()}, endDate : null},
{startDate : {$gte : new Date()}, endDate : {$lte : new Date()}},
{startDate : null, endDate : {$lte : new Date()}}
]}
Настоящая проблема здесь в том, что я уже использую $ или условие для других ограничений, что делает его еще более сложным.
Какие бы у вас были варианты решения этой, казалось бы, очень простой проблемы?