Node.js NodeJs sequelize获取数据之间的日期';s

Node.js NodeJs sequelize获取数据之间的日期';s,node.js,orm,sequelize.js,Node.js,Orm,Sequelize.js,这个问题已经被问过了,但这并不能解决我的问题 我的数据库中有两个字段,它们是fromDate和toDate。我想在插入新数据时验证fromDate和toDate 我的意思是,我的数据库中已经有fromDate=2019-04-20和toDate=2019-04-30 现在,我试图将fromDate插入为2019-04-25和toDate插入为2019-04-26 在这种情况下,抛出类似的错误,您已经有了此日期的 这是我的代码: controller.js const db = require('

这个问题已经被问过了,但这并不能解决我的问题

我的
数据库中有两个字段,它们是
fromDate
toDate
。我想在插入新数据时验证
fromDate
toDate

我的意思是,我的
数据库中已经有fromDate=2019-04-20toDate=2019-04-30

现在,我试图将
fromDate
插入为
2019-04-25
toDate
插入为
2019-04-26

在这种情况下,抛出类似的错误,您已经有了此日期的

这是我的代码:

controller.js

const db = require('../../config/database');
const CubbersClosure = require('../../model/cubber/cubbersClosure.model')(db.sequelize, db.Sequelize);

exports.cubbersAddClosure = (req, res) =>{
   CubbersClosure.create({
        cubbersId:req.body.cubbersId,
        userId:req.body.userId,
        fromDate:req.body.fromDate,
        toDate:req.body.toDate,
        status:1,
        createdBy:req.body.createdBy,
        updatedBy:req.body.updatedBy
    }).then(closure=>{
        res.status(200).send({status: 'success', resCode:200, msg:'Shop closure date added successfully...!', data:closure});
    }).catch(function (error) {
        res.status(403).send({status: 'error', resCode:200, msg:'Internal Server Error...!', data:error});
    });
}
module.exports = (sequelize, Sequelize)=>{
    const cubbersAvailability = sequelize.define('cubbersclosure',{
        closureId:{
            type: Sequelize.INTEGER,
            primaryKey:true,
            autoIncrement:true
        },
        cubbersId:{type: Sequelize.INTEGER},
        userId:{type: Sequelize.INTEGER},
        fromDate:{type: Sequelize.STRING},
        toDate:{type: Sequelize.STRING},
        status:{type: Sequelize.INTEGER},
        createdAt:{type: Sequelize.DATE},
        createdBy:{type: Sequelize.INTEGER},
        updatedAt:{type: Sequelize.DATE},
        updatedBy:{type: Sequelize.INTEGER},
    },
    {
        freezeTableName: true
    });
    return cubbersAvailability;
}
model.js

const db = require('../../config/database');
const CubbersClosure = require('../../model/cubber/cubbersClosure.model')(db.sequelize, db.Sequelize);

exports.cubbersAddClosure = (req, res) =>{
   CubbersClosure.create({
        cubbersId:req.body.cubbersId,
        userId:req.body.userId,
        fromDate:req.body.fromDate,
        toDate:req.body.toDate,
        status:1,
        createdBy:req.body.createdBy,
        updatedBy:req.body.updatedBy
    }).then(closure=>{
        res.status(200).send({status: 'success', resCode:200, msg:'Shop closure date added successfully...!', data:closure});
    }).catch(function (error) {
        res.status(403).send({status: 'error', resCode:200, msg:'Internal Server Error...!', data:error});
    });
}
module.exports = (sequelize, Sequelize)=>{
    const cubbersAvailability = sequelize.define('cubbersclosure',{
        closureId:{
            type: Sequelize.INTEGER,
            primaryKey:true,
            autoIncrement:true
        },
        cubbersId:{type: Sequelize.INTEGER},
        userId:{type: Sequelize.INTEGER},
        fromDate:{type: Sequelize.STRING},
        toDate:{type: Sequelize.STRING},
        status:{type: Sequelize.INTEGER},
        createdAt:{type: Sequelize.DATE},
        createdBy:{type: Sequelize.INTEGER},
        updatedAt:{type: Sequelize.DATE},
        updatedBy:{type: Sequelize.INTEGER},
    },
    {
        freezeTableName: true
    });
    return cubbersAvailability;
}
数据库:

注意:在插入新日期之前,我想验证这个中间日期是否已经存在


如果您在此控制器中只需要此逻辑,则可以使用所需的适当的中间/重叠逻辑
findOne
,并在插入新项之前检查没有结果。如果您希望此逻辑范围更广,您可能可以在保存之前使用like
beforeSave
。如果您在此控制器中只需要此逻辑,您可以使用所需的适当的中间/重叠逻辑来
findOne
,并在插入新项之前检查没有结果。如果您希望此逻辑更广泛,您可能可以在保存之前使用like
beforeSave