node-postgres:一次更新多个记录

node-postgres: Update more than one record at once

我正在 node.js 使用 node-postgres 构建应用程序。我不知道如何一次更新多个记录。
这是我的代码:

var status = 20;
var id = [23,12,43];

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

{


if(err) 
{
      done();
      console.log(err);
      return res.status(500).send(json({ success: false, data: err}));
}
    client.query("UPDATE myDatabase SET status=() WHERE id IN();", [status,id]);

但我遇到了一个问题 - 控制台:

events.js:160 throw er; // Unhandled 'error' event ^

error: invalid input syntax for integer: "23,12,43"

遇到这种情况我该怎么办?使用什么样的数据? var id的长度每次都不一样

你好,拉法尔
编辑:我认为数据的更改将在 javascript 中起作用,输入必须是 23,12,43,而不是 [23,12,43] 但我不知道该怎么做。

看起来你想使用 ANY:

client.query("UPDATE myDatabase SET status=() WHERE id = ANY();", [status,id]);

这是因为 Postgresql 本身,而不是库:参见 this and this

另见这个问题:Oracle: '= ANY()' vs. 'IN ()'