在nodeJs中使用Sequelize时,我从Sequelize收到了如下错误:
{ [SequelizeUniqueConstraintError: Validation error]
name: 'SequelizeUniqueConstraintError',
message: 'Validation error',
errors:
[ { message: 'unique_identifier_UNIQUE must be unique',
type: 'unique violation',
path: 'unique_identifier_UNIQUE',
value: 'authentication123456' } ],
fields: { unique_identifier_UNIQUE: 'authentication123456' } }
错误本身非常清楚。但是引起我注意的是,这个JSON看起来很奇怪。在此JSON的第一行中,您可以看到:
[SequelizeUniqueConstraintError:验证错误]
它不是字符串,也不是数组,甚至都不用逗号将其与JSON中的下一行分开。
之后怎么样了?对我来说,它看起来像是评论或标题。但这在JSON中允许吗?我没有找到任何解释的参考。
好的,我知道这是从哪里来的。
使用console.log(err)命令打印此错误。它的作用是调用err对象的toString方法,该方法按原样格式化结果。感谢@Pointy,我注意到它甚至不是JSON,这使我理解了这个问题。因此,调用了JSON.stringify(err)而不是console.log(err),现在我们有了正确的jSON格式:
{
"name": "SequelizeUniqueConstraintError",
"message": "Validation error",
"errors": [
{
"message": "unique_identifier_UNIQUE must be unique",
"type": "unique violation",
"path": "unique_identifier_UNIQUE",
"value": "authentication123456"
}
],
"fields": {
"unique_identifier_UNIQUE": "authentication123456"
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句