MongoDB:Datetime的Time by Time部分

时间:2016-09-30 17:00:12

标签: mongodb

我在mongodb中有很多数据,其中包含日期。通常这些日期是在任何日期,但在10:00:00到22:00:00之间。

因为我在超出上述范围的时间内发现了一些奇怪的行为,我想要一个查询,它返回在任何日期不在10:00:00到22:00:00之间的每个文档。有没有办法在mongodb中这样做?

e.g。按时间部分查询?

1 个答案:

答案 0 :(得分:1)

查询上午12:29之后有时间的文档,我的解决方案是:

(event_start isododatetime)

I)项目时间和分钟

{'$project': {'_id': 1,
             'hour': {'$hour': '$event_start'}, 
             'minute': {'$minute': '$event_start'}}},

II)之后匹配:`

 {'$match': {'$or': [
                     {'hour': {'$gt': 12}},
                     {'$and': [{'hour': {'$eq': 12}},
                               {'minute': {'$gte': 30}}
                              ]}]}}

来源 - > Link