Расширяя комментарий JohnnyHK, этот $match
должен работать в течение 20:00 - 23: 59.
// 20:00 - 23:59
{
$match: {
hour: { $gte: 20, $lt: 24 }
}
}
Если вы хотите получить оба ответа одновременно, вы можете использовать $or
, чтобы включить все критерии.
{
$match: {
$or: [
< 0-5 hour criteria >,
< 20-24 hour criteria >
]
}
}
Вариации на 0-5 часов
// 00:00 - 04:59
{
$match: {
hour: { $gte: 0, $lt: 5 }
}
}
// 00:01 - 04:59
{
$match: {
$or: [
{ hour: 0, minutes: { $gt: 0 }}, // 00:01 - 00:59
{ hour: { $gt: 0, $lt: 5 }} // 01:00 - 04:59
]
}
}
// 00:01 - 05:00
{
$match: {
$or: [
{ hour: 0, minutes: { $gt: 0}}, // 00:01 - 00:59
{ hour: { $gt: 0, $lt: 5 }}, // 01:00 - 04:59
{ hour: 5, minutes: 0} // 05:00
]
}
}
// 00:00 - 05:00
{
$match: {
$or: [
{ hour: { $gte: 0, $lt: 5 }}, // 00:00 - 04:59
{ hour: 5, minutes: 0 } // 05:00
]
}
}
Собираем все вместе
// 00:01 - 04:59 AND 20:00 - 23:59
{
$match: {
$or: [
{ hour: 0, minutes: { $gt: 0}}, // 00:01 - 00:59
{ hour: { $gt: 0, $lt: 5 }}, // 01:00 - 04:59
{ hour: 5, minutes: 0}, // 05:00
{ hour: { $gte: 20, $lt: 24 }} // 20:00 - 23:59
]
}
}