检查开放时间-MongoDB

检查开放时间-MongoDB,mongodb,node-mongodb-native,Mongodb,Node Mongodb Native,我是否可以在不更改以下架构的情况下找到库现在是打开还是关闭的: "openhours" : { "sun" : { "day" : "Sun", "active" : true, "open" : "01:00", "close" : "00:05"

我是否可以在不更改以下架构的情况下找到库现在是打开还是关闭的:

"openhours" : {
                    "sun" : {
                        "day" : "Sun",
                        "active" : true,
                        "open" : "01:00",
                        "close" : "00:05"
                    },
                    "mon" : {
                        "day" : "Mon",
                        "active" : false,
                        "open" : "00:00",
                        "close" : "00:00"
                    },
                    "tue" : {
                        "day" : "Tue",
                        "active" : false,
                        "open" : "00:00",
                        "close" : "00:00"
                    },
                   ...
                    "sat" : {
                        "day" : "Sat",
                        "active" : false,
                        "open" : "00:00",
                        "close" : "00:00"
                    }
}
我做了很多研究,当时间以HH:MM格式存储在文档中时,找不到任何解决方案


非常感谢您的帮助?

尽管时间以“HH:MM”格式存储,但您似乎仍然可以进行合理的查询(由于您的零填充,这些时间字符串的字典顺序与时间顺序相同)

下面是一些伪代码:

var date = new Date();
var hhmm = date.getHHMM(); // '20:46'
var dayname = date.getDayName(); // 'thu'

db.library.find({"openhours.#{dayname}.open": {'$lt': hhmm}, "openhours.#{dayname}.close": {'$gt': hhmm}});

尽管时间是以“HH:MM”格式存储的,但似乎您仍然可以进行合理的查询(由于您在那里有零填充,这些时间字符串的字典顺序与时间顺序相同)

下面是一些伪代码:

var date = new Date();
var hhmm = date.getHHMM(); // '20:46'
var dayname = date.getDayName(); // 'thu'

db.library.find({"openhours.#{dayname}.open": {'$lt': hhmm}, "openhours.#{dayname}.close": {'$gt': hhmm}});

尽管时间是以“HH:MM”格式存储的,但似乎您仍然可以进行合理的查询(由于您在那里有零填充,这些时间字符串的字典顺序与时间顺序相同)

下面是一些伪代码:

var date = new Date();
var hhmm = date.getHHMM(); // '20:46'
var dayname = date.getDayName(); // 'thu'

db.library.find({"openhours.#{dayname}.open": {'$lt': hhmm}, "openhours.#{dayname}.close": {'$gt': hhmm}});

尽管时间是以“HH:MM”格式存储的,但似乎您仍然可以进行合理的查询(由于您在那里有零填充,这些时间字符串的字典顺序与时间顺序相同)

下面是一些伪代码:

var date = new Date();
var hhmm = date.getHHMM(); // '20:46'
var dayname = date.getDayName(); // 'thu'

db.library.find({"openhours.#{dayname}.open": {'$lt': hhmm}, "openhours.#{dayname}.close": {'$gt': hhmm}});