首页 > 解决方案 > Node Js sequelize 按月查询查询

问题描述

我是新手Node Js,在我的Node Js项目中使用sequelize ORM数据库MySql

这是我想按月编写选择查询的查询。

这是我的查询SELECT * FROM cubbersclosure WHERE MONTH(fromDate) = '04'

这里fromDate的字段类型是date

在此处输入图像描述

这是我的代码:

var fromDate = '2019-04-01'
var fromDateMonth = new Date(fromDate);
var fromMonth = (fromDateMonth.getMonth()+ 1) < 10 ? '0' + (fromDateMonth.getMonth()+1) : (fromDateMonth.getMonth()+1);

CubbersClosure.findAll({
    where:{
        // select query with Month (04)... //fromMonth
    }
}).then(closureData=>{        
    res.send(closureData);
}).catch(error=>{
    res.status(403).send({status: 'error', resCode:200, msg:'Internal Server Error...!', data:error});
});

这里fromMonth只得到从日期开始的月份,所以我想按月份编写代码选择查询。

标签: node.jsselectormsequelize.js

解决方案


我不确定,但试试这个怎么样?

where: {
  sequelize.where(sequelize.fn("month", sequelize.col("fromDate")), fromMonth)
}

推荐阅读