使用Postgresql和Node-pg进行查询构建

时间:2019-01-21 14:25:04

标签: node.js postgresql pg

我有一个关于以有效方式构建查询的问题。目前要做一次INSERT我有以下

async function saveFixture(f) {
  try {
    await pool.query('INSERT into fixtures (match_id, home_team, home_team_id, away_team, away_team_id, league_name) VALUES ($1, $2, $3, $4, $5, $6) RETURNING *', [f.match_id, f.home_team, f.home_team_id, f.away_team, f.away_team_id, f.league_name])
  } catch(e) {
    console.error('Error Occurred ', e);
    throw e;
  }
}
# f being an object like so { match_id: '1', home_team: 'Team 1', home_team_id: '11', away_team: 'Team 2', away_team_id: '12', league_name: 'League Name' }

所以这是非常低效的吧?,每次我要插入的是对数据库的单独调用。首先将所有想要的对象放在数组中,然后执行多行插入会更好吗?

此声明还使我想到

INSERT into fixtures (match_id, home_team, home_team_id, away_team, away_team_id, league_name). 

我对象中的每个键都与数据库中的列名称相对应,因此有一种方法可以将它们映射出来,而不是每个都写出来(因为我确实有20多个,因此本示例更短)。

任何人都可以提供一个示例来帮助我提高代码的效率吗,请使用查询构建技术,这是我真的很想了解和学习的东西

谢谢

0 个答案:

没有答案