0
pg-pool
으로 Postgres DB에 연결을 풀링 중입니다. 그러나 프런트 엔드에 쿼리 결과를 보내는 데 문제가 있습니다. 평소와 같이 res.send
을 사용할 수 있다고 가정했으나 인식되지 않았습니다 (나는 또한 return
을 시도했습니다). 여기 제 기능입니다 :node-postgres, pg-pool로 표현, 데이터를 Angular 프론트 엔드로 보내기
exports.featList = function (req, res) {
pool.connect(function(err, client, done) {
if (err) {
return console.error('error fetching client from pool', err);
}
client.query('SELECT * FROM book WHERE featured=true', function (err,res) {
var json = JSON.stringify(res.rows);
return json;
client.release();
});
});
죄송합니다, 감사합니다, 나는 실제로 단지 (오른쪽 실제 코드에 있었다) 것으로 잘못 입력. 내 문제가 'client.query' 내에 보내는 코드를 포함한다고 생각하기 시작했습니다. 내가 믿는 바깥으로 나가야합니다. – eabates
@는 모든 요청에 대해 연결을 생성해서는 안되며 미들웨어에 존재해서도 안되기 때문에 접근법이 잘못되었다고 생각합니다. 'pool.connect' 파일을 데이터베이스 커넥터가 될 다른 파일/lib로 옮기고 응용 프로그램을 부팅하여 db에 연결해야합니다. 이 파일/lib에는 필요할 때 클라이언트를 반환하는 함수가 있어야합니다 (미들웨어의 경우) –
사실 저는'res.send' 전에'client-release'를해야했습니다. – eabates