用猫鼬查询两个日期并返回匹配的文档?

时间:2020-04-05 11:36:04

标签: javascript mongodb date mongoose mongodb-query

我有一个猫鼬集合,其架构如下:

"date_from": {type: Date, required: true},
"date_to": {type: Date, required: true},
"num_guests": {type: Number, required: true},
"children": {type: Number, required: true},

现在,我必须根据提供的日期来搜索介于“ date_from”到“ date_to”之间的文档。

现在,我发现了这段代码,可以满足我的大部分需求。

 model.find({_id: req.body._id,
                $and:[{date_from: {$gte: "2020-04-26T06:50:45.079+00:00",$lte: "2020-05-01T06:50:45.079+00:00"}},
{date_to: {$lte: "2020-05-01T06:50:45.079+00:00"}}]
            })

但是,在以下情况下,我遇到了此代码的问题:在我的收藏夹中,有一个文档,其文档由"date_from": "2020-04-04""date_to":"2020-04-08"。现在,当我用$gte: "2020-04-03"$lte: "2020-04-09"查询时,我得到了文档,但是当我将其更改为$gte: "2020-04-05"$lte: "2020-04-09"时,我收到了一个空数组。但是我仍然需要获取该文档,因为从技术上讲,它仍在$gte: "2020-04-05"$lte: "2020-04-09"之内。我该怎么办?

可以通过以下方式最好地解释这种情况:

我现在有一家酒店房间,预订时间为12-04-2020至24-04-2020,如果有人查询了16-04-2020至20-04-2020之间的所有预订,那么他们应该会看到已完成的预订在12到24之间。

我浏览了其他相关问题以找到答案,但没有发现太多东西。

0 个答案:

没有答案
相关问题