检查营业时间 - MongoDB

时间:2015-04-02 17:28:26

标签: mongodb node-mongodb-native

我可以在不更改以下模式的情况下查找库是打开还是关闭:

"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格式存储时,无法找到任何解决方案。

感谢任何帮助?

1 个答案:

答案 0 :(得分:3)

即使时间存储在" 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}});