Javascript Postgresql绑定一个变量的变量

Javascript Postgresql绑定一个变量的变量,javascript,node.js,postgresql,Javascript,Node.js,Postgresql,通过阅读这里的其他帖子,我明白了错误是什么,我只是不知道如何在我的用例中修复它。我正在使用for循环构建一个查询,该查询将向我的数据库中插入多行 const id = req.body.user_id; const data = req.body.data; let queryString = ''; let venue_ids = ``; for (let i = 2; i < data.length + 2; i++) { if (i === data.le

通过阅读这里的其他帖子,我明白了错误是什么,我只是不知道如何在我的用例中修复它。我正在使用for循环构建一个查询,该查询将向我的数据库中插入多行

  const id = req.body.user_id;
  const data = req.body.data;
  let queryString = '';
  let venue_ids = ``;
  for (let i = 2; i < data.length + 2; i++) {
    if (i === data.length + 1) {
      queryString += `($1, $${i})`;
      venue_ids += `${data[i - 2].id}`;
    } else {
      queryString += `($1, $${i}), `;
      venue_ids += `${data[i - 2].id}, `;
    }
  }
我得到的错误是,
bind消息提供了2个参数,但prepared语句“”需要11个参数。
因此,当我希望它是变量中的变量时,我看到了正在发生的事情,我的
场馆ID
被解释为一个变量,如果这有意义的话


知道如何解决这个问题吗?

我可以通过对整个绑定数组使用变量
binded\u id
来解决我的问题

  let binded_ids = [id];
  for (let i = 2; i < data.length + 2; i++) {
    if (i === data.length + 1) {
      queryString += `($1, $${i})`;
      binded_ids.push(data[i - 2].id);
    } else {
      queryString += `($1, $${i}), `;
      binded_ids.push(data[i - 2].id);
    }
  }
  let binded_ids = [id];
  for (let i = 2; i < data.length + 2; i++) {
    if (i === data.length + 1) {
      queryString += `($1, $${i})`;
      binded_ids.push(data[i - 2].id);
    } else {
      queryString += `($1, $${i}), `;
      binded_ids.push(data[i - 2].id);
    }
  }
  let sqlText = `INSERT INTO user_matches (user_id, venue_id) VALUES ${queryString}`;
  pool
    .query(sqlText, binded_ids)
    .then((response) => {
      res.send(response.rows);
    })
    .catch((err) => {
      console.log('Error saving venue matches', err);
    });