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-20和toDate=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
,并在插入新项之前检查没有结果。如果您希望此逻辑范围更广,您可能可以在保存之前使用likebeforeSave
。如果您在此控制器中只需要此逻辑,您可以使用所需的适当的中间/重叠逻辑来findOne
,并在插入新项之前检查没有结果。如果您希望此逻辑更广泛,您可能可以在保存之前使用likebeforeSave
。