【问题标题】:Node.js loading Postgres SQL data into JS FIleNode.js 将 Postgres SQL 数据加载到 JS 文件中
【发布时间】:2014-07-17 05:10:19
【问题描述】:

我正在尝试将 Postgres 数据加载到 node.js 中,但我遇到了很多困难。我知道 constring 有效,因为我用它来将文本文件中的数据发送到数据库中。

var request = require('request');
var pg = require('pg');
var squel=require('squel');
var client = new pg.Client(conString);
var conString="postgres://postgres:Password@localhost:5433/postgres"

client.connect(function (err,data){
    if(err) console.log("Error connecting to PG", err);
    else{
    var query = squel.select().from('"ASNTable"')
    console.log(query.toString());
    client.query(query, function(res){
              var outputJSON = [];
              for (row in res){
                outputJSON.push(row);
              }
              return outputJSON
              console.log(outputJSON)
            });
    }
});

我不断收到 "SELECT * FROM "ASNTable" 所以它就像 client.query 部分从不做任何事情?

【问题讨论】:

  • 您是否将默认 postgres 端口更改为 5433?除非您更改它,否则它是 5432。
  • @aembke 是的,我确实做到了。我已成功将数据从节点输入到数据库,但似乎无法反转它。
  • 几件事:你不需要双引号表名字符串。此外,client.query() 回调函数中的第一个参数是错误,而不是响应。您应该将该行更改为 client.query(query, function(error, res){ ... })。此外,您应该查看 node-postgres 文档。 for(row in res) 不会按照您的意愿工作。你想要 res.rows 属性。

标签: javascript sql node.js postgresql


【解决方案1】:

@aembke 我想通了。 var conString 应该放在客户端之前。

var request = require('request');
var pg = require('pg');
var squel=require('squel');
var conString="postgres://postgres:Vcu3student@localhost:5433/postgres"
var client = new pg.Client(conString);
var outputJSON = [];

client.connect(function (err,data){
    if(err) console.log("'Error connecting to PG'", err);
    else{
    var query = squel.select().field("asnumber").from('"asntable"');
    client.query(query.toString(), function (err,res){
        if (err) throw err;
        var x = JSON.stringify(res);
        var y = x.split(",")
        // console.log(y[7])
        console.log(y.length);
        for (var i=0; i<y.length; i++){
            // console.log(y[i]);
            if (y[i].indexOf('"asnumber":') > 0)
            {
                console.log(y[i])
                outputJSON.push(y[i]);
            }
        };
        // console.log("result "+JSON.stringify(res))
          });
    }
});
console.log(outputJSON);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 2012-08-14
    • 2018-07-22
    • 2015-10-23
    • 2015-04-13
    相关资源
    最近更新 更多