MongoDB 时间范围查询目前有两种方式:

  • Date
  • ISODate

MongoDB条件对应关系

  • (>) 大于 – $gt
  • (<) 小于 – $lt
  • (>=) 大于等于 – $gte
  • (<= ) 小于等于 – $lte

Date方式

例如查询时间段为2023.01.03<=日期<=2023.01.05可翻译为:

 "日期字段名":{$gte:new Date(2023,0,3),$lte:new Date(2023,0,5)}

注意:中间的月份从0开始,0代表1月份,11代表12月份

db.test.find({"createTime":{"$gte":new Date(2023,0,3),"$lte":new Date(2023,0,5)}})

查询时间段记录数:

db.test.find({"createTime":{"$gte":new Date(2023,0,1),"$lte":new Date(2023,0,4)}}).count()

ISODate方式

例如查询时间段为2023.01.03<=日期<=2023.01.05可翻译为:

"日期字段名":{"$gte":ISODate("2023-01-03T00:00:00Z"),"$lte":ISODate("2023-01-05T00:00:00Z")}
db.test.find({"createTime":{"$gte":ISODate("2023-01-03T00:00:00Z"),"$lte":ISODate("2023-01-05T00:00:00Z")}})

查询时间段记录数:

db.test.find({"createTime":{"$gte":ISODate("2023-01-03T00:00:00Z"),"$lte":ISODate("2023-01-05T00:00:00Z")}}).count()