在两个日期字段之间搜索

时间:2013-10-01 16:21:38

标签: mongodb date

假设我有这个文档结构:

{ 
  "event" : "Event 1"
  "startDate": 20130101, // Jan-1-2013
  "endDate": 20140101 // Jan-1-2014
}

如何搜索日期介于startDateendDate 之间且使用索引的所有文档?

  

示例:查找介于20120101和20150101之间的所有文档。

我的上述文件应该匹配,因为20130101到20140101属于上述查询。

1 个答案:

答案 0 :(得分:1)

db.coll.find({endDate : {$lt : 20150101}, startDate : {$gt : 20120101}}

或使用$lte$gte

如果是频繁查询和相当大的集合,请使用索引作为开始日期和结束日期