我想在已经存在唯一属性的情况下重试创建记录,那么如何检查创建新记录的失败是否归因于UniqueConstraintError。
我正在尝试查找示例代码但无法找到任何内容。
答案 0 :(得分:1)
import {UniqueConstraintError} from 'sequelize'
Model
.create({...})
.then(obj => {})
.catch(err => {
if(err instanceof UniqueConstraintError){
throw new Error('duplicate error')
}
else{
throw err
}
})
如果您还需要字段名称(导致此错误),这可能会有所帮助
err.errors[0].path
答案 1 :(得分:0)
Model.create(objectToCreate)
.catch(sequelize.UniqueConstraintError, () => { // TODO });
如果您使用bulkCreate
,您可以在选项ignoreDuplicates
中使用布尔属性(Postgres不支持)或updateOnDuplicate
(仅受MySQL支持)