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