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