You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB如何按日期范围与指定字段条件查询文档?

MongoDB 查询符合指定条件的文档

示例集合文档

[
    {"date_time": "2022-11-05 09:09:55", "dat1": "TRUI", "cod": "XC"},
    {"date_time": "2022-11-21 09:09:55", "dat1": "TRQW", "cod": "KL"},
    {"date_time": "2022-12-06 09:09:55", "dat1": "CBTR", "cod": "NM"},
    {"date_time": "2022-12-18 09:09:55", "dat1": "METR", "cod": "XC"}
]

查询需求

筛选出cod字段值为XC,且date_time在2022-11-01至2022-12-31之间的所有文档,期望结果:

[
    {"date_time": "2022-12-18 09:09:55", "dat1": "METR", "cod": "XC"},
    {"date_time": "2022-11-05 09:09:55", "dat1": "TRUI", "cod": "XC"}
]

查询实现方案

根据date_time字段的存储类型,选择对应的查询语句:

情况1:date_time为字符串类型

使用字符串范围匹配,补全时间范围到当日首尾时刻,确保覆盖所有符合条件的文档:

db.your_collection.find({
  "cod": "XC",
  "date_time": {
    "$gte": "2022-11-01 00:00:00",
    "$lte": "2022-12-31 23:59:59"
  }
})

情况2:date_time为Date类型

用new Date()构造日期对象进行范围查询:

db.your_collection.find({
  "cod": "XC",
  "date_time": {
    "$gte": new Date("2022-11-01"),
    "$lte": new Date("2022-12-31T23:59:59")
  }
})

语句说明

  • "cod": "XC":精确匹配cod字段值为XC的文档
  • $gte:匹配字段值大于等于指定值的文档
  • $lte:匹配字段值小于等于指定值的文档

内容的提问来源于stack exchange,提问作者Tyson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 06:35:45