Sequelize在出错时无限执行INSERT

时间:2016-04-30 21:25:46

标签: sequelize.js hapijs

我正在执行以下代码行以将用户插入我的应用程序;

models.User.create({
    emailAddress: request.payload.emailAddress,
    hashedPassword: request.payload.password,
  }).then(function (user) {
    return models.X.create({
      membershipExpires: moment(),
      userId: user.id
    }).then(function (x) {
      return models.ContactDetails.create({
        userType: 'X',
        userId: x.userId,
        city: request.payload.contactDetails.city,
        postcode: request.payload.contactDetails.postcode
      }).then(function () {
        if (!user.sendWelcomeEmail())
          console.log('sent welcome email yoo');

        return reply("User created!");
      })
    })


  }).catch(function (error) {
    return reply(Boom.badRequest('Validation error'))
  })
});

当由于电子邮件字段上的唯一约束而失败时,将重复执行插入,直到我终止该进程。它正在尝试在每次迭代时插入一个新用户,因为bcrypt hashedPassword字段不同。

为什么会这样?我在节点5.7上使用HapiJS和Sequelize

0 个答案:

没有答案