猫鼬发现日期冲突

时间:2018-12-19 10:25:32

标签: javascript mongodb mongoose nosql

我有一个猫鼬模型,其中包含事件的开始和结束日期。

我想要一个带有开始日期和结束日期的查询,看看它是否与数据库中的任何事件相冲突。

类似的东西:

'select where' - 
    endDate < currentBooking.endDate && startDate < currentBooking.startDate) || end > currentBooking.endDate && startDate > currentBooking.startDate

但是我怎么能把它写成猫鼬查询呢?

1 个答案:

答案 0 :(得分:2)

请对此进行测试,希望这可以解决您的问题

Ebook.find({
  $or: [{
     $and: [{ endDate: { $lte: currentBooking.endDate } }, { startDate: { $lte: 
     currentBooking.startDate}}],
   $and: [{ endDate: { $gte: currentBooking.endDate } }, { startDate: { $gte: 
  currentBooking.startDate}}]
    }]
},function(err, data) {
        if (err)
            res.send(err);

        res.json(data);
    });
});