我想在我的mongoDb中获得大于2:00且小于8:00的时间。但是,我的数据如下所示:
{“time”:“4:35”}
冒号阻止我进行“db.collection.find({time:{$ gt:2,$ lt:8}})之类的查询”“有什么方法可以查询吗? (也许在不改变内部数据的情况下将4:35解析为435)
答案 0 :(得分:1)
如果你只是想搜索2到8之间的时间,那么你可以试试这个:
db.collection.find( { time: { $gt: "2:00", $lt: "8:00" } } )
这就是我为测试它所做的。我已经在集合中插入了一些数据,这里是列表:
db.time.find({},{ “_编码”:0})
{“mytime”:“4:35”} {“mytime”:“1:35”} {“mytime”:“6:35”} {“mytime”:“8:35”} {“mytime”:“10:35”} {“mytime”:“10:10”}db.time.find({mytime:{$ gt:“2:00”,$ lt:“8:00”}},{“_ id”:0})
{“mytime”:“4:35”} {“mytime”:“6:35”}
答案 1 :(得分:0)
将时间存储为字符串是一个坏主意。不幸的是,MongoDB没有专用的仅限时间数据类型,但有两种选择并不像使用字符串那么糟糕: