-1
현재 postgresql에서 다른 함수를 호출하는 함수에서 사용자 이름과 암호의 유효성을 검사하려고합니다. 내 유효성 검사는 validate 함수에서 true를 반환해야하지만 그렇지 않습니다. 위의 console.log가 작동하고 실제로 validate()를 사용할 때 사용하는 매개 변수는 true를 반환해야하지만 그렇지 않습니다.postgresql 풀에서 boolean 반환하기
function validate(username, password){
//PG Connect
pool.connect((err, client, done)=>{
if(err){
return console.error('error fetching client from pool', err);
}
client.query('SELECT * FROM users', (err, result)=>{
if(err){
return console.error('error running query', err);
}
for(let i = 0; i < result.rows.length; i++){
if(result.rows[i].username.trim() == username && result.rows[i].password.trim() == password){
console.log("this works");
return true; //this doesn't return true when I call the function
}
console.log(result.rows[i].username.trim() + " " + result.rows[i].password.trim());
}
return false;
done();
});
});
}
데이터베이스에서 모든 사용자 레코드를 요청하여 사용자의 유효성을 검사하지 않습니다. 이것은 내가 본 가장 최악의 해결책입니다. 사용자 세부 정보를 매개 변수로 쿼리에 전달해야합니다. –