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

如何筛选createdAt字段为当前日期到90天前区间的数据

筛选最近90天数据的正确实现

现有代码的核心问题

  • Date.now是JavaScript内置的时间函数,必须加()调用才能拿到当前时间的毫秒时间戳,直接写Date.now得到的是函数对象本身,无法作为时间值参与查询
  • term查询为精确匹配查询,仅能匹配到和指定值完全相等的记录,完全不满足「最近90天」的范围筛选需求,需要替换为range范围查询
  • 筛选逻辑错误:最近90天的规则是createdAt >= 90天前的时间,而非等于某个固定时间点

正确实现

根据你存储createdAt的字段格式二选一即可:

字段存储为毫秒时间戳

const initialFilter = [
  {
    range: {
      createdAt: {
        gte: Date.now() - 90 * 24 * 60 * 60 * 1000
      }
    }
  },
];

字段存储为标准ISO日期格式

const initialFilter = [
  {
    range: {
      createdAt: {
        gte: new Date(Date.now() - 90 * 24 * 60 * 60 * 1000).toISOString()
      }
    }
  },
];

其中gte参数代表「大于等于」,会匹配所有创建时间晚于等于90天前的记录,刚好覆盖你需要的最近90天范围。


内容的提问来源于stack exchange,提问作者Murilo de Jesus

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 10:57:03