Я получаю - «TypeError: Клиенту был передан пустой или неопределенный запрос в Client.query», хотя в моем коде нет нуля или неопределенного - PullRequest
0 голосов
/ 22 декабря 2018

Я пытаюсь выполнить запрос к базе данных PostgreSQL с помощью пост-запроса, который просто проверяет наличие username в users table, если он найден, пароль должен быть хеширован и сопоставлен с тем, который был запрошен.Я проверил с почтальоном, и я получаю сообщение об ошибке TypeError: Client was passed a null or undefined query at Client.query.Я протестировал мою connectionString с другим HTTP-запросом (например, GET), и он сработал, что показывает, что connectionString не является проблемой.Найдите ниже фрагмент моего кода:

router.post("/login", async (req, res, next) => {
    try {
        // try to find the user first
        const foundUser = await db.query(
            "SELECT * FROM users WHERE username=$1 LIMIT 1"
            [req.body.username]
        );
        if (foundUser.length === 0) {
            return res.json({ message: "Invalid Username" });
        }
         // if the user exists, let's compare their hashed password to a new hash from req.body.password
        const hashedPassword = await bcrypt.compare(
            req.body.password,
            foundUser.rows[0].password
        ); 
    // bcrypt.compare returns a boolean to us, if it is false the passwords did not match!
        if (hashedPassword === false) {
            return res.status(400).json({ message: "Invalid Password" });
        }
        return res.json(200).json({ message: "Logged In" });
    } catch(err) {
        return next(err);
    }
});

Ошибка указала этот маршрут / обратный вызов в качестве проблемы.Какие-либо предложения?

1 Ответ

0 голосов
/ 22 декабря 2018

Я нашел проблему.Это ошибка с моей стороны.rows отсутствует в операторе if.

 if (foundUser.rows.length === 0) {
            return res.json({ message: "Invalid Username" });
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...