Доступ к RowDataPacket без указанной переменной

0

Я хочу проверить, находится ли пользователь в моей базе данных. Результат имеет значение в rowDataPacket. 0, если пользователь не существует и 1, если он существует. как мне получить доступ к этому значению?

connection.query("SELECT EXISTS(SELECT 1 FROM users WHERE name = ?)", username, function (err, result) {
        if (err) {
            console.error(err);
            return;
        }

        console.log(result[0]); // miserable attempts
        console.log(result[0].body);
        console.log(result[0].log);

который выводит:

RowDataPacket {'EXISTS (SELECT 1 FROM users WHERE name = \' Test_user_name\')': 0} undefined undefined

как я могу получить доступ только к возвращаемому значению 0 или 1. (0 в приведенном выше случае)

заранее спасибо :)

EDIT: Я искал более чистое решение, но это работает:

var str = JSON.stringify(result[0]); var userExist = str[str.length - 2];

при использовании stringify не забудьте установить модуль

установка: $ npm install json-stringify --save

Документация: https://www.npmjs.com/package/json-stringify

Теги:

1 ответ

0

Вы можете использовать ключевое слово "AS" в своем запросе, например:

SELECT EXISTS(SELECT 1 FROM smm.fb_users WHERE id = ?) AS cnt

Затем вы можете получить доступ к этому значению следующим образом:

 console.log(results[0].cnt);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню