Здравствуйте.
Я пишу приложение на основе express. База данных - postgresql, ORM - Sequelize. Это обработчик POST-запроса, в котором мне нужно получить пользователя из базы по username.
// /routes/login.js
router.post('/', function(req, res, next) {
models.User.findAll({
where: {
username: req.body.username
}
}).then(function(user) {
console.log(user);
});
res.render('login');
});
В командной строке выводится текст запроса и результат(пустой массив):
Код:
|
Executing (default): SELECT "id", "username", "password" FROM "Users" AS "User" WHERE "User"."username" = 'admin';
[] |
Хотя такой пользователь есть, проверяю с помощью psql запросом
Код:
|
SELECT id, username, password FROM Users WHERE username = 'admin'; |
Пробовал то же самое с помощью .findOne():
router.post('/', function(req, res, next) {
models.User.findOne({
username:req.body.username
}).then(function(user) {
console.log(user);
});
res.render('login');
});
Лог:
Код:
|
Executing (default): SELECT "id", "username", "password" FROM "Users" AS "User" LIMIT 1;
null |
Т.е. .findOne() при формировании запроса проигнорировал аргумент { username:req.body.username }. Поле req.body.username приходит, проверял.
Подскажите, что не так?