nodejs sequelize bulkCreate()模型错误验证不起作用

时间:2018-04-25 07:12:43

标签: mysql node.js sequelize.js

我的应用程序中有多个数据插入操作

当我使用bulkCreate然后它适用于我

但我有一个问题,当一些必需的字段,如名称在数据库中不为空,我为没有名称的单个方法调用创建或保存方法,然后它给出错误:必需的验证错误

但是当我在bulkCreate中执行相同操作时,它会创建null值而不会抛出错误

以下是bulkCreate无效的代码

models.testModel.bulkCreate(postObj.evUserFavouriteLocations,{updateOnDuplicate: true}).then(function (result) {
    console.log("postObj.");
}).catch(Sequelize.ValidationError, function (err) {
console.log(' in sequierererror', err);
}).catch(function (err) {
console.log("err::",err);
});

2 个答案:

答案 0 :(得分:1)

对于bulkCreate,默认情况下会关闭验证。您需要通过validate: true才能使验证生效。

在此处阅读文档:http://docs.sequelizejs.com/class/lib/model.js~Model.html#static-method-bulkCreate

答案 1 :(得分:0)

我通过将ignoreDuplicates选项设置为true来修复它。 例如。 Model.bulkCreate(dataArray,{ignoreDuplicates:true})