что означает эта ошибка, потому что я пытался создать 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()}`
}