Sequelize.js Sequlize js如何基于当前日期进行日期比较

Sequelize.js Sequlize js如何基于当前日期进行日期比较,sequelize.js,Sequelize.js,在phpMyAdmin上执行此操作会给我一个记录 SELECT * FROM `banners` WHERE region_id = 1 AND status= 'approved' and approved_date = CURRENT_DATE; 但我试着用Sequalize实现同样的目标 const banners = await db.banners.findAll({ where: { region_id: id, status: "app

在phpMyAdmin上执行此操作会给我一个记录

SELECT * FROM `banners` WHERE region_id = 1 AND status= 'approved' and approved_date = CURRENT_DATE;
但我试着用Sequalize实现同样的目标

const banners = await db.banners.findAll({
      where: {
        region_id: id,
        status: "approved",
        approved_date: new Date()
      }
    });
当我跟踪查询时

选择
id
路径
到期日期
状态
费用
备注
批准日期
地区id
餐厅id
是付费的
创建数据
更新数据
来自
横幅
作为
横幅
其中
横幅
区域id
=1和
横幅
状态
=“已批准”和
横幅
批准日期=“2018-10-11 17:29:31”

我看到的问题是
approved\u date
列数据类型是date,比较
new date()

日期和时间。Sequalize中与当前日期相似的关键字是什么?如果要将字符串直接传递到
WHERE
条件,可以使用
sequelize.literal

const banners = await db.banners.findAll({
  where: {
    $and: [
      {
        region_id: id,
        status: "approved"
      }
    ],
    sequelize.where(
      sequelize.fn('DATE', sequelize.col('approved_date')),
      sequelize.literal('CURRENT_DATE')
    )
  }
});

如果要将字符串直接传递到
WHERE
条件,可以使用
sequelize.literal

const banners = await db.banners.findAll({
  where: {
    $and: [
      {
        region_id: id,
        status: "approved"
      }
    ],
    sequelize.where(
      sequelize.fn('DATE', sequelize.col('approved_date')),
      sequelize.literal('CURRENT_DATE')
    )
  }
});

这个答案同样有效

const banners = await db.banners.findAll({
      where: {
        region_id: id,
        status: "approved",
        approved_date: db.Sequelize.fn('CURRENT_DATE')

      }

    });

这个答案同样有效

const banners = await db.banners.findAll({
      where: {
        region_id: id,
        status: "approved",
        approved_date: db.Sequelize.fn('CURRENT_DATE')

      }

    });