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

ISO Date查询仅匹配00:00时间的日期,无法匹配带具体时间的日期

问题分析与解决方案

原因

你用{dCreatedAt: ISODate('2022-11-16')}做筛选时,MongoDB会精确匹配时间戳完全等于2022-11-16T00:00:00.000+00:00的文档。第二条数据的时间是2022-11-15T13:31:18.513+00:00,和筛选的时间戳完全不同,自然不会被匹配到。

解决方案

如果你的需求是筛选2022年11月16日当天的所有数据,需要用范围查询来匹配当天的时间区间:

// 匹配UTC时间2022-11-16 00:00:00到2022-11-17 00:00:00之间的文档
db.collection.find({
  dCreatedAt: {
    $gte: ISODate('2022-11-16'),
    $lt: ISODate('2022-11-17')
  }
})

如果是要筛选2022年11月15日及之后的数据,调整范围即可:

db.collection.find({
  dCreatedAt: { $gte: ISODate('2022-11-15') }
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 21:15:32