1
expressjs 응용 프로그램의 페이지 매김 기능을 사용하고 있습니다. 이 함수는 페이지 매김 매개 변수를 받고 일부 정보가있는 객체를 반환합니다. 이 중 하나는 query (postgresql db)의 총 결과입니다. 그러나 내가 실행할 때이 데이터를 제외하고는 모든 데이터가 올바르게 반환됩니다.반환되는 객체 속성 undefined (nodejs)
매김 기능 :
var Pagination = function (obj, cb) {
var base = require("./modulo-conn");
var queryTotalReq = "SELECT COUNT(*) AS TOTAL FROM (" + obj.query + ") AS T";
var objQry = {
db: obj.db,
query: queryTotalReq
};
this.current = obj.paging.Actualpage;
this.next = obj.paging.Actualpage + 1;
this.prev = (obj.paging.Actualpage > 0) ?obj.paging.Actualpage - 1 : obj.paging.Actualpage;
base.query(objQry, null, function(data){
this.totalPg = data[0].TOTAL;
});
cb(this);
};
var postOpt = {
db: 'postgres',
query: 'SELECT NOW() as when',
paging:{
itemPerPage: 20,
Actualpage:2
}
};
var b = null;
Pagination(postOpt, function(data){
b = data;
});
console.log(b);
연결 dB 기능 : 언뜻
module.exports.query = function(postOpt, mongoOpt, cb){
if(postOpt){
var conString = "postgres://"+conn[postOpt.db].login+":"+conn[postOpt.db].passwd+"@"+conn[postOpt.db].server+":"+conn [postOpt.db].port+"/"+postOpt.db;//connection string
var pg = require('pg');
console.log('connect to postgresql...');
pg.connect(conString, function(err, client, done){
if(err){
console.log(err);
return false;
}
client.query(postOpt.query, function(err, result) {
done();
if(err) {
return console.error('error running query', err);
}
cb(result.rows);
});
done();
});
}else{
console.log('Database type not defined or not found!');
}
};