Учитывая, что вы работаете с моделями, датами и другими вещами, что-то вроде этого поможет вам решить проблему:
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
}
})