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

查询数据库中昨日0点至今日0点创建的菜品数据

查询昨日0点至今日0点的菜品数据

首先修正你Schema里的两处小问题(Mongoose类型需大写,且Schema定义要闭合):

const dish = new Schema({
  name: {
    type: String,
  },
  createdAt: {
    type: Date,
  },
});

要获取昨日0点到今日0点之间创建的菜品,你需要先计算对应的时间范围,再用Mongoose的find方法查询:

// 计算今日0点的时间戳
const todayStart = new Date();
todayStart.setHours(0, 0, 0, 0);

// 计算昨日0点的时间戳(基于今日0点往前推一天)
const yesterdayStart = new Date(todayStart);
yesterdayStart.setDate(yesterdayStart.getDate() - 1);

// 执行查询
const targetDishes = await Dish.find({
  createdAt: {
    $gte: yesterdayStart, // 大于等于昨日0点
    $lt: todayStart       // 小于今日0点
  }
});

解释:

  • 使用$gte和$lt可以精准匹配时间区间,避免包含今日0点及之后的数据
  • 这种时间计算方式基于当前运行环境的时区,若需UTC时区,可改用setUTCHours等方法调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 12:55:22