Необработанный отказ CastError: Ошибка приведения к строке для значения "{email: 'test @ g mail.com'}" по пути "email" для модели "Пользователь" - PullRequest
0 голосов
/ 26 августа 2018

что означает эта ошибка, потому что я пытался создать resetPasswordRequest, но всякий раз, когда я пытаюсь отправить электронное письмо, чтобы получить ссылку для сброса на mailtrap.io spinner продолжает загружаться, и эта ошибка появляется в терминале.

Unhandled rejection CastError: Cast to string failed for value "{ email: 'test@g
mail.com' }" at path "email" for model "User"
    at new CastError (C:\projects\bookworm\bookworm-api\node_modules\mongoose\li
b\error\cast.js:27:11)
    at SchemaString.cast (C:\projects\bookworm\bookworm-api\node_modules\mongoos
e\lib\schema\string.js:476:9)
    at SchemaString.SchemaType._castForQuery (C:\projects\bookworm\bookworm-api\
node_modules\mongoose\lib\schematype.js:1088:15)
    at SchemaString.castForQuery (C:\projects\bookworm\bookworm-api\node_modules
\mongoose\lib\schema\string.js:531:15)
    at SchemaString.SchemaType.castForQueryWrapper (C:\projects\bookworm\bookwor
m-api\node_modules\mongoose\lib\schematype.js:1045:15)
    at cast (C:\projects\bookworm\bookworm-api\node_modules\mongoose\lib\cast.js
:214:34)
    at model.Query.Query.cast (C:\projects\bookworm\bookworm-api\node_modules\mo
ngoose\lib\query.js:3305:12)
    at model.Query.Query._castConditions (C:\projects\bookworm\bookworm-api\node
_modules\mongoose\lib\query.js:1295:10)
    at model.Query.Query._findOne (C:\projects\bookworm\bookworm-api\node_module
s\mongoose\lib\query.js:1507:8)
    at C:\projects\bookworm\bookworm-api\node_modules\kareem\index.js:250:8
    at C:\projects\bookworm\bookworm-api\node_modules\kareem\index.js:23:7
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickDomainCallback (internal/process/next_tick.js:218:9)

это мои файлы

маршрутизатор / auth.js

router.post('/reset_password_request', (req, res) => {
  User.findOne({ email: req.body.email }).then(user => {
    if (user) {
      sendResetPasswordEmail(user);
      res.json({});
    } else {
      res.status(400).json({ errors: { global: 'There user with such email' } })
    }
  });
});

модель / user.js

schema.methods.generateResetPasswordToken = function generateResetPasswordToken() {
  return jwt.sign({
    _id: this._id
  }, process.env.KEY,
  { expiresIn: '1s' });
}

schema.methods.generateResetPasswordLink = function generateResetPasswordLink() {
  return `${process.env.HOST}/reset_password/${this.generateResetPasswordToken()}`
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...