- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Sequelize 创建后端。对于最佳实践,如果用户尝试创建重复的资源,我想返回 Location header 。检查我的代码:
try {
const resource = await Resource.create(data);
return res.status(201).send(resource);
} catch (error) {
// Error handling
switch (error.name) {
case 'SequelizeDatabaseError': return res.status(400).send(error);
case 'SequelizeUniqueConstraintError': {
// Resource location
res.location(`/${_location_}`)
return res.status(409).send(_resource_)
};
}
Obs:我不确定检查
error.name
是否是获取错误的最佳方法。知道的请评论其他人。
{
// ...
ValidationErrorItem {
message: 'name must be unique',
type: 'unique violation',
path: 'name',
value: _value_,
origin: 'DB',
instance: [Resource],
validatorKey: 'not_unique',
validatorName: null,
validatorArgs: []
}
],
fields: { name: _value_ },
detail: 'Key (name)=(_value_) already exists.',
// ...
}
Obs:
_value_
指重复值,
name
指列名。
最佳答案
我也在我的本地服务器上尝试过。我认为不可能获得冲突行的主键。
我建议在调用 .create()
之前先进行 .findOne()
查询,这样如果你发现已经存在的条目,那么你可以返回该行,这样它也可以防止在创建新条目时出错,它还可以在数据库上保存 create
查询。
关于sql - Sequelize : SequelizeUniqueConstraintError get conflicting row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63652365/
我有一个使用 Sequelize 的 node.js 应用程序。我目前的目标是 SQLite 以便于开发设置和测试,但将转移到 MySQL 进行生产。我使用 sequelize-cli 创建模型和迁移
我收到这个错误: Unhandled rejection SequelizeUniqueConstraintError: Validation error 我该如何解决这个问题? 这是我的模型/use
我对 promises 和 Sequelize 有点陌生。我正在尝试使用约束将新用户插入到我的 SQLite 数据库中。在 User -model 中,我已将 email -property 标记为
我正在使用 Sequelize 创建后端。对于最佳实践,如果用户尝试创建重复的资源,我想返回 Location header 。检查我的代码: try { const resource = a
使用 documentation 中的示例,一切仅在第一次插入时运行良好。在第二次及以后,出现错误。 const Product = this.sequelize.define('Product',
我是一名优秀的程序员,十分优秀!