база данных не обновляется, несмотря на функцию db.insert - PullRequest
0 голосов
/ 03 октября 2018

Я создаю функцию забытого пароля в пакете почтового отправителя для экспресс-приложения, который отправляет новый пароль на электронную почту пользователя, а затем обновляет базу данных новым паролем, но проблема в том, что база данных не обновляется с помощьюновый пароль Я много раз проверял свой код, но не смог выяснить проблему.

`app.post('/forgot', (req, res) => {
  const { email } = req.body;
  let newPassword = generatePassword();
  db.select('*').from('login')
  .where('email', '=', email)
  .returning('*')
  .then(user => {
    if (user.length > 0) {
      let mailOptions = {
        from: 'haroonrmit@gmail.com', 
        to: `${email}`, 
        subject: 'Password reset', 
        html: `<p>Your new password is ${newPassword}</p>`
      };
      transporter.sendMail(mailOptions);
      db('login')
      .where({email: user[0].email})
      .update({
        password: newPassword
      })
      res.json(user[0]);
    } else {
      res.status(404).json('email not found');
    }
  })
});`

1 Ответ

0 голосов
/ 03 октября 2018

Вы не вызываете .then для второго запроса, поэтому он создается, но никогда не запускался.

Также ваш http возвращает значение, прежде чем он узнает, было ли обновление выполнено успешно.

...