Mongodb запрос, какие магазины открыты в данный момент - PullRequest
0 голосов
/ 10 января 2020

Я видел этот вопрос несколько раз, но не видел четких ответов. Я хотел бы написать запрос mongodb, который требует времени и сравнивает его с часами хранения. В настоящее время я конвертировал все время в минуты, то есть 9:00 AM = 540. Он отлично работает, когда часы работы магазина не превышают go после полуночи. У кого-нибудь есть решение.

пример магазина 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());
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...