【问题标题】:Mongodb Query with validations in nodejs在 nodejs 中进行验证的 Mongodb 查询
【发布时间】:2018-10-24 11:09:35
【问题描述】:
我们有一个用例,我们正在构建一个应用程序,该应用程序可以为特定提及的时间预订时间段。为此,我们创建了一个带有“From time and To time”的表格。现在,我们可以根据已预订的时段来验证预订时段。
Struking point:例如,如果一个人需要预订从上午 9 点到下午 12 点的时段,那么我们已经预订了时段。如果另一个人试图在同一时间或时间之间预订时间段,我们能够验证并生成错误。现在如果有人尝试从上午 8 点到下午 1 点预订时段,那么我们将无法验证。请展示实现此要求的任何想法
【问题讨论】:
标签:
node.js
mongodb
express
【解决方案1】:
考虑到您正在处理模型、日期和其他内容,这样的事情将帮助您解决问题:
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
}
})