Мне нужно иметь возможность извлекать определенное значение из массива, чтобы иметь возможность использовать его в операторе IF для фильтрации данных в SQL. Моя цель состоит в том, чтобы создать что-то вроде этого
if(obj !== undefined){ //do something} else { //do something else }
Причина, по которой мне нужно это сделать, состоит в том, чтобы знать, есть ли запись в SQL или нет, и это было единственное, что я мог придумать. Чтобы проверить, возвращает ли оно какие-либо значения при его поиске.
Код:
con.query("SELECT * FROM whitelisttest WHERE (identifier) = (?)", [messageArray[1]], function (err, result) {
if (err) throw err;
var person = JSON.stringify(result);
obj = JSON.parse(person);
test = obj.whitelisted;
console.log(result);
console.log(obj);
console.log(person);
console.log(test);
Результат журнала консоли:
[ RowDataPacket { identifier: 'etanol', whitelisted: 3 } ]
[ { identifier: 'etanol', whitelisted: 3 } ]
[{"identifier":"etanol","whitelisted":3}]
undefined
Ожидаемый результат для вывода, который в настоящее время не определен и который называется тестом в коде, равным 3, и для результата, который будет этанолом, если я это сделал.
test = obj.identifier
console.log(test)
РЕДАКТИРОВАТЬ:
Решение, которое мне помогло (пропустил [0] при попытке сделать объект obj.whitelisted, когда предполагалось, что это объект obj [0]. Whitelisted)
con.query("SELECT * FROM whitelisttest WHERE (identifier) = (?)", [messageArray[1]], function (err, result) {
if (err) throw err;
var person = JSON.stringify(result);
obj = JSON.parse(person);
console.log(obj[0].whitelited)