В приведенном ниже примере я пытаюсь получить документы из коллекции состояний, для которых назначено правило, где текущая дата находится в диапазоне текущего времени.Если я закомментирую условие нижнего соответствия, оно работает.Тем не менее, если я использую критерий соответствия метки времени, он не возвращает никаких результатов.
Как выполнить этот запрос с mongodb?
state = { deferred: true, rule: ObjectId("5d83fd3a176edf9f4242622e") }
rules = { _id: ObjectId("5d83fd3a176edf9f4242622e"), start: 1568916000, end: 1568930400 }
db.state.aggregate([{
$match: {
{ deferred: { $ne: null} }
}
},
{
"$lookup": {
from: "rules",
localField: "rule",
foreignField: "_id",
as: "rules_current"
}
},
{
$unwind: "$rules_current"
},
{
$match: {
$and: [
{ "rules_current.start": { $lt: (new Date().getTime()) } },
{ "rules_current.end": { $gt: (new Date().getTime()) } }
]
}
}
])