postgresql - 错误:连接已终止

时间:2018-01-03 01:40:34

标签: node.js postgresql

我正在尝试将数据添加到空表中。在以下代码中,我能够记录客户端。这意味着与数据库的连接是成功的。但是,当它转到第一个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.");
      }
    }
  });
}

1 个答案:

答案 0 :(得分:0)

您只需要评论/删除done();