我可以在不更改以下模式的情况下查找库是打开还是关闭:
"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格式存储时,无法找到任何解决方案。
感谢任何帮助?
答案 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}});