我们有一个用例,其中我们正在构建一个应用程序,该应用程序可以为指定的特定时间预订时段。为此,我们创建了一个带有“ 开始时间和结束时间”的表。现在,我们可以根据已预订的时段验证预订时段。
达成协议的地点:例如,如果某人需要预订上午9点至下午12点的时段,那么我们已经预订了该时段。如果另一个人尝试在同一时间或该时间之间预订时间段,我们将能够验证并产生错误。现在如果某人尝试预订上午8点至下午1点的时段,那么我们将无法验证。请显示出达到此要求的任何想法
答案 0 :(得分:3)
考虑到您正在处理模型,日期和其他内容,类似的东西将帮助您解决问题:
model.find({
$or: [{
$and: [{
"fromTime": { $gte: desiredFromTime },
},
{
"toTime": { $lte: desiredToTime },
}
]
}, {
$and: [{
"fromTime": { $lte: desiredFromTime },
},
{
"toTime": { $gte: desiredToTime },
}
]
}]
}).exec(function(err,result){
if(result)
console.log("You can't book")
else{
//book the slot
}
})