【发布时间】:2018-05-07 09:32:30
【问题描述】:
我正在使用带有 NodeJS 和 MySql 的 Sequelize。 (最新版本)
我有一个用户模型 -
- 'id' 和唯一的主键。 'id' 设置为自动递增。
- 一些用户详细信息,例如名字、姓氏、电子邮件等。
- 另外两个唯一键(在 sequelize 模型和数据库中标记为唯一)-“用户名”和“电子邮件”
我正在使用“findOrCreate”方法来创建或查找。如果记录不存在,我的代码会创建一条记录,但是当我尝试查找此记录时,会在“用户名”字段上引发 UniqueConstraintError (ER_DUP_ENTRY) --> SequelizeUniqueContraintError。基本上,findOrCreate 会尝试第二次创建记录而不是找到它。
我可以通过手动查找来解决这个问题,如果没有找到 然后创建。但我需要“findOrCreate”方法返回的标志 这有助于确定是否已创建或找到记录。
有人可以帮忙吗?
【问题讨论】:
-
我已经参考了以下链接。 (我的问题不是重复的)stackoverflow.com/questions/35248117/…
-
这是一个类似的问题 - github.com/sequelize/sequelize/issues/5134
标签: mysql node.js sequelize.js