【发布时间】:2018-08-10 19:20:08
【问题描述】:
我正在尝试使用 Sequelize 库在数据库中插入大量数据 但是当我将一组对象传递给 bulkCreate 查询时,它显示出一些奇怪。
我有这样的功能
db.organizations
.findAll({
attributes: ['name'],
where: {
id: req.ORG_ID
}
})
.then(org => {
let i; let smsData = [];
for (i = 0; i < user.length; i++) {
let DefaultText = Utils.defaultMessage(
user[i].name,
user[i].dataValues.amount,
org[0].name
);
smsData.push({
organizationId:
user[i].dataValues.organizationEntries[0].organizationId,
mobile: user[i].mobile,
message: DefaultText,
status: 0
});
}
console.log(JSON.stringify(smsData));
db.logSms.bulkCreate([{
smsData
}]).then(() => { // Notice: There are no arguments here, as of right now you'll have to...
return db.logSms.findAll({ where: { status: 0 } });
}).then(sms => {
console.log(sms)
})
我也完成了 console.log(smsData) ,它显示了对象数组,但我不明白为什么我会遇到这个错误。
插入log_sms (id,created_at,updated_at) 值 (NULL,CURRENT_TIMESTAMP,CURRENT_TIMESTAMP);
未处理的拒绝 SequelizeDatabaseError: 字段 'mobile' 没有默认值
这个错误基本上是在执行查询时出现的,你可以在下面看到错误,因为我已经强制移动字段并且我正在传递具有手机号码的对象数组,但仍然会出现这个错误。请给点提示
【问题讨论】:
标签: node.js express sequelize.js