我在mongodb中有很多数据,其中包含日期。通常这些日期是在任何日期,但在10:00:00到22:00:00之间。
因为我在超出上述范围的时间内发现了一些奇怪的行为,我想要一个查询,它返回在任何日期不在10:00:00到22:00:00之间的每个文档。有没有办法在mongodb中这样做?
e.g。按时间部分查询?
答案 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