Я использую node.js / express / sequelize для входа в систему пользователя. Я тестирую запросы в почтальоне, чтобы узнать, получит ли он что-нибудь. Я тестирую пользователя и pw, которые, как я знаю, находятся в базе данных, но мой запрос findOne в sequelize возвращает значение null, даже если проверяемое имя находится в базе данных. Вот рассматриваемый запрос:
let { userId, pw } = req.body
try{
const foundUser = await User.findOne({ where: { userId: userId } });
if (foundUser === null) {
return res.status(401).send({ auth: false, token: null,error: 'name not found' });
} else {
const passwordIsValid = bcrypt.compareSync(pw, foundUser.pw);
if (!passwordIsValid) return res.status(401).send({ auth: false, token: null,error: 'name not found' });
const token = jwt.sign({ id: foundUser.id}, config.secret, {
expiresIn: 86400 // expires in 24 hours
});
res.status(200).json({auth:true,token:token});
}
} catch (err) {
res.status(500).json(err);
}
}
my json
У меня есть body-parser, реализованный для описания изображения jsonenter здесь по индексу js и маршрутизации работает так, как значения userId и pwd попадают в запрос findOne. Однако он по-прежнему говорит, что после запроса нет результатов. Терминал запускает следующее (userId - slim)
Executing (по умолчанию): SELECT id
, username
, userId
, pw
, createdAt
, updatedAt
FROM users
AS users
WHERE users
. userId
= 'slim';
'slim' находится как в Json, так и в разделе 'userId' базы данных