我正在尝试将数据添加到空表中。在以下代码中,我能够记录客户端。这意味着与数据库的连接是成功的。但是,当它转到第一个client.query时,它给了我错误:Connection终止。数据库保持不变。我记录结果并且结果未定义。
终止是由未定义的结果还是其他原因造成的?我是数据库新手。我试图谷歌答案,但找不到任何线索。有人可以帮忙吗?
function greetUserText(userId) {
//first read user firstname
request({
uri: 'https://graph.facebook.com/v2.7/' + userId,
qs: {
access_token: config.FB_PAGE_TOKEN
}
}, function (error, response, body) {
if (!error && response.statusCode == 200) {
var user = JSON.parse(body);
console.log("getUserData:" + user);
if (user.first_name) {
var pool = new pg.Pool(config.PG_CONFIG);
pool.connect(function(err, client, done) {
if (err) {
return console.error('Error acquiring client', err.stack);
}
console.log('cccccccccccccc', client);
var rows = [];
client.query(`SELECT id FROM users WHERE fb_id='${userId}' LIMIT 1`,
function(err, result) {
console.log('query result ' + result);
if (err) {
console.log('Query error: ' + err);
} else {
console.log('rows: ' + result.rows.length);
if (result.rows.length === 0) {
let sql = 'INSERT INTO users (fb_id, first_name, last_name, profile_pic, ' +
'locale, timezone, gender) VALUES ($1, $2, $3, $4, $5, $6, $7)';
console.log('sql: ' + sql);
client.query(sql,
[
userId,
user.first_name,
user.last_name,
user.profile_pic,
user.locale,
user.timezone,
user.gender
]
);
}
}
});
done();
});
pool.end();
// console.log("FB user: %s %s, %s",
// user.first_name, user.last_name, user.gender);
sendTextMessage(userId, "Welcome " + user.first_name + '! ' + "I can answer FAQs for you" + " and I can perform job interviews.");
}
}
});
}
答案 0 :(得分:0)
您只需要评论/删除done();