我正在使用环回模型过滤具有开始日期和结束日期的事件列表,并且我想返回不在两个特定日期之间的事件列表。我认为这样应该可以工作:
const eventList = await Events.find({
where: {
startDate: {
not: {
between: [unavailableStarting, unavailableEnding],
},
},
endDate: {
not: {
between: [unavailableStarting, unavailableEnding],
},
},
},
});
如果您取出not
部分,这对于获取日期之间的所有事件都可以正常工作。如何使NOT BETWEEN
过滤器起作用?
答案 0 :(得分:1)
据我所知,无法在环回模型中使用NOT BETWEEN,但我确实将其与lt gt一起使用:
const eventList = await Events.find({
where: {
and:[{
or: [
{ startDate: { lt: unavailableStarting } },
{ startDate: { gt: unavailableEnding } },
]
},
{
or: [
{ endDate: { gt: unavailableStarting } },
{ endDate: { lt: unavailableEnding } },
]
}
]},
});