查看营业时间- MongoDB

Check for opening hours- MongoDB

我可以在不更改以下模式的情况下确定图书馆现在是打开还是关闭吗:

"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}});