Javascript Mongodb查询在给定时间打开哪些存储

Javascript Mongodb查询在给定时间打开哪些存储,javascript,mongodb,time,Javascript,Mongodb,Time,这个问题我已经被问了好几次了,但没有看到任何明确的答案。我想编写一个mongodb查询,它会占用时间并将其与存储时间进行比较。目前我将所有时间转换为分钟,即上午9:00=540。当商店营业时间不超过午夜时,它就能完美地工作。有人有解决办法吗 示例存储json: { "name": "store", "Monday": [ { "to": 960, "from": 1080 }, { "to": 1320, "

这个问题我已经被问了好几次了,但没有看到任何明确的答案。我想编写一个mongodb查询,它会占用时间并将其与存储时间进行比较。目前我将所有时间转换为分钟,即上午9:00=540。当商店营业时间不超过午夜时,它就能完美地工作。有人有解决办法吗

示例存储json:

{
"name": "store",
"Monday": [
    {
        "to": 960,
        "from": 1080
    },
    {
        "to": 1320,
        "from": 1500
    }
],
"Tuesday": [
    {
        "to": 960,
        "from": 1080
    },
    {
        "to": 1320,
        "from": 1500
    }
],
"Wednesday": [
    {
        "to": 960,
        "from": 1080
    },
    {
        "to": 1320,
        "from": 1500
    }
],
"Thursday": [
    {
        "to": 960,
        "from": 1080
    },
    {
        "to": 1320,
        "from": 1500
    }
],
"Friday": [
    {
        "to": 960,
        "from": 1080
    },
    {
        "to": 1320,
        "from": 1500
    }
],
"Saturday": [
    {
        "to": 960,
        "from": 1080
    },
    {
        "to": 1320,
        "from": 1500
    }
],
"Sunday": [
    {
        "to": 960,
        "from": 1080
    },
    {
        "to": 1320,
        "from": 1500
    }
],
"position": {
    "lat": 34.14505,
    "lng": -118.36954
},
"geometry": {
    "type": "Point",
    "coordinates": [
        -118.36954,
        34.14505
    ]
},
"__v": 0
}
当前查询:

router.get('/:second', async (req, res) => {
....
let time = timeConvertor(req.params.second);
let startdate = getDay() + '.0.to';
let endate = getDay() + '.0.from';
let secondStart = getDay() + '.1.to';
let secondEnd = getDay() + '.1.from';
let query = {
   {
   $or: [{
    $and: [ { [secondStart] : { $lte : time }, }, {  [secondEnd] : { $gte : time } } ]},
        {
    $and: [ { [startdate] : { $lte : time }, }, {  [endate] : { $gte : time } } ]}
    ]
};
res.send(await resturants.find(query).toArray());
});

那是不是意味着第二天凌晨1点是1500?如果是这样的话,为什么将其视为
1500
而不是
60
?@srinivasy当我使用60时,查询将不起作用。自从商店凌晨1点关门以来,我赚了1500英镑。当当前时间在午夜之前,而不是午夜之后时,它会工作。