无法在Bluemix中将记录插入PostgreSQL

时间:2015-04-04 09:19:57

标签: node.js postgresql ibm-cloud

我尝试在Bluemix平台上使用Node.js进行postgresql。但是,有一个问题。我尝试使用https://www.ng.bluemix.net/docs/#starters/nodejs/index.html#PostgreSQL中描述的代码。

我可以运行我在本地环境中成功编写的应用程序。但是,它在Bluemix平台中无法正常运行。

以下是描述我所做的事情的代码:

var recordVisit = function(req, res) {
    /* Connect to the DB and auth */
    pg.connect(psql, 
        function(err, client, done) {
            if (err) {
                return console.error('Error requesting client', err);
            }

            console.log(req.ip);

            client.query('insert into ips(ip, ts) values($1, $2)', [req.ip, new Date()],
                function(err, result) {
                    if (err) {
                        done();
                        return console.error('Error inserting ip', err);
                    }

                    client.query('select count(ip) as count from ips where ip=$1',
                        [req.ip], 
                        function(err, result) {
                            done();
                            if (err) {
                                return console.error('Error querying count', err);
                            }
                            console.log("You have visited " + result.rows[0].count + " times")
                            // res.writeHead(200, {'Content-Type': 'text/html'});
                            // res.end();
                        }
                    );
                }
            );
        }
    );
};

它遵循bluemix文档中的代码。 Bluemix中访问次数的结果始终为零(0)。但是在当地环境中的结果是可以的。我没有从Bluemix平台得到任何错误。所以我假设可以插入访问记录。但是,似乎不是。

任何人都可以指点我解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

我尝试在insert函数中插入更多日志记录。我发现变量req.ip在Bluemix平台的INSERT SQL结果中变得不确定。

所以我添加了一个局部变量来存储请求的ip以保留内容。

相关问题