Я строю динамический запрос следующим образом:
if(DateX && DateY){
query.createdAt = {
$gte: new Date(DateX).toISOString(),
$lt : new Date(DateY).toISOString()
}
}else if(DateX){
query.createdAt = {
$gte: new Date(DateX).toISOString()
}
}else if(DateY){
query.createdAt = {
$lt: new Date(DateY).toISOString()
}
}
Здесь мои даты DateX и DateY - даты в формате tz.
Вышеупомянутый запрос работает нормально с find (), как показано ниже, и возвращает желаемые результаты:
Model.find(query).lean().exec();
Но тот же запрос не работает с aggregate.match(query)
следующим образом:
Model.aggregate()
.match(query)
.exec()