ParallelSaveError: Невозможно сохранить () один и тот же документ несколько раз параллельно - PullRequest
0 голосов
/ 05 июня 2018

Я переместил свою локальную базу данных на свободный уровень mLab, и я получаю сообщение об ошибке, которого раньше не было.ParallelSaveError: Can't save() the same doc multiple times in parallel

Ошибка отлавливается из строки user.save().Не могли бы вы взглянуть и показать, как это исправить?Я так потерян ...

// Confirm password.
// Execs after requiresAuth permission resolver.
const confirmPassword = ({ user, inputs: { password } }) => {
  // Validate args.
  validate([required, isLength], 'PASSWORD', password)

  // Required for graphql. Expects a promise.
  return new Promise((resolve, reject) =>
    user.comparePassword(password, (err, isMatch) => {
      if (err) return reject(err)
      if (!isMatch) return reject(error('CONFIRM_PASSWORD_FAILED'))
      return resolve(user)
    })
  )
}

// Compare submitted plain text password with the salted and hashed version.
    UserSchema.methods.comparePassword = function(candidatePassword, callback) {
      return bcrypt.compare(candidatePassword, this.password, (err, isMatch) => {
        if (isMatch) {
          this.account.authStrikes = 0
          this.account.lastConfirm = Date.now()
        } else {
          this.account.authStrikes += 1
          if (this.account.authStrikes === 3) {
            this.account.status = 'locked'
            require('../resolvers/auth')
              .createUnlockAccountToken({ userId: this._id })
          }
        }
        return this.save()
          .then(() => callback(null, isMatch))
          .catch(err => callback(err))
      })
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...