我可以将用户详细信息保存到db中,并且用户名必须是唯一的,这样我就可以手动编写逻辑来检查db中是否已存在给定的用户名,否则我可以设置username字段作为db中的唯一,在保存重复的用户名时,它将返回唯一的字段异常。所以我可以从异常中理解它。在性能和内存使用方面,我需要知道哪种是最佳实践。
答案 0 :(得分:1)
我建议将列设置为已经注明的唯一。
const Foo = sequelize.define('foo', {
username: { type: Sequelize.STRING, unique: true },
});
但是,从数据库中侦听唯一约束错误应该是应用程序的最后一道防线。仅仅因为存在异步定时可能绕过您的自定义验证器的情况,我建议为应用程序中更频繁地违反的唯一约束设置验证器。
此处讨论了更多相关信息:https://github.com/sequelize/sequelize/issues/2640