【问题标题】:Node Js sequelize raw query to sequelize ORMNode Js sequelize raw query sequelize ORM
【发布时间】:2019-09-06 13:50:34
【问题描述】:

我需要把sequelizeraw query改成sequelize ORM

这是我的查询

db.sequelize.query("SELECT count(*) as count FROM cubbersclosure WHERE CAST('"+ fromDate +"' as date) <= toDate AND CAST('"+ toDate +"' as date) >= fromDate", { type: sequelize.QueryTypes.SELECT}).then(closureData=>{
    res.send(closureData);

}).catch(error=>{
    res.status(403).send({status: 'error', resCode:200, msg:'Internal Server Error...!', data:error});
});

改成这样

CubbersClosure.findAndCountAll({
    where:{
        // condtion here         
    }
}).then(closureData=>{        
    res.send(closureData);
}).catch(error=>{
    res.status(403).send({status: 'error', resCode:200, msg:'Internal Server Error...!', data:error});
});

【问题讨论】:

    标签: mysql node.js select orm sequelize.js


    【解决方案1】:

    试试这个条件:

    where: {
      toDate: { $gte: sequelize.cast(req.body.toDate, 'date') },
      fromDate: { $gte: sequelize.cast(req.body.fromDate, 'date') },
    },
    

    【讨论】:

    • 我在哪里声明 req.body.fromDate 所以你能告诉我
    • 这样好吗fromDate: { $lte: sequelize.cast(sequelize.col('toDate'), 'date'), req.body.fromDate},
    • 试着用它代替sequelize.cast(sequelize.col('toDate')sequelize.col('fromDate'),所以你应该得到这样的东西:fromDate: { $gte: sequelize.cast(req.body.fromDate, 'date') },
    • 你能更新你的答案吗?我给你打勾
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    相关资源
    最近更新 更多