2015-04-02 24 views
0

我能找到的库是否打开或不改变下面的模式现在被关闭:当时间被存储为HH检查开放小时 - 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" 
        } 
} 

我做了很多的研究,并不能找到任何解决方案:文件中的MM格式。

任何帮助表示赞赏?

回答

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