使用Node.js客户端插入Postgres时出错

时间:2018-09-28 09:57:09

标签: node.js postgresql-9.4

我正在尝试使用Nodejs客户端将记录插入Postgres DB。 代码段中的以下URL包含JSON数据。

代码段:-

var pg = require("pg");
var req = require("request");
var url="http://localhost:6544/patients";

var connectionString = {
  user: 'postgres',
  host: 'localhost',
  database: 'fhirbase',
  password: 'postgres',
  port: 5432,
};

var pool = new pg.Pool(connectionString);

pool.connect(function(err, client, done) {


    req.get(url, (error, response, body) => {

        if(error) {
            return console.dir(error);
        }

        else{

         data = JSON.parse(body);
         for(i=1;i<=data.length;i++){
             var v = data[i];
            const query=client.query(new pg.Query("INSERT INTO account VALUES ('5','5','patient',:data[i])"));

         }
        }})


})

错误:-events.js:183       投掷者//未处理的“错误”事件       ^ 错误:“:”或附近的语法错误

2 个答案:

答案 0 :(得分:0)

我认为您的查询方式是错误的,我这里可能是错误的,因为我不了解postgres,但我认为您必须使用$ 1,$ 2等。请参考以下链接,您可能会了解一些我想告诉:

node.js, pg, postgresql and insert queries

答案 1 :(得分:0)

语法错误显然  const query=client.query(new pg.Query("INSERT INTO account VALUES ('5','5','patient',:data[i])")); 您可以尝试

const query=client.query(new pg.Query("INSERT INTO account VALUES ('5','5','patient',data[i])"));