问题标签 [pg-node]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
34 浏览

javascript - 基于多个查询参数在javascript中处理SQL查询的最佳方法?

我有一个案例,其中 pg-node 中的 SQL 查询基于传递的查询参数,但是由于可以有多个参数在查询中执行不同的操作,我想知道是否有比使用 if 或 switch case 更好的方法来处理这种情况每一种可能的组合?

例子:

  • 如果未传递任何参数,则获取所有 'SELECT * FROM TABLE'
  • 如果传递了排序参数,则获取全部并按值排序
  • 如果传递了地点和排序,则获取所有地点=地点并按值排序
  • 如果 place、sort、allow、person 被传递了 get all where place = place、person = person,按值排序并且允许不为空
  • 如果只有地点和允许但没有排序和人等等......

此示例中“只有”4 个参数,但可能的组合数量越来越多。对于每个新的可能查询参数,可能的组合当然会变得更高。

在这一点上,我一直在为每个可能的组合做 if,因为没有那么多可能的参数,但这对于多个参数来说并不是最优的。我也在看 knex 但这似乎也不能解决问题,如果在每个 .where 之前都需要,等等?有什么建议或图书馆要开始寻找吗?

0 投票
0 回答
26 浏览

sql - 插入或更新关系并返回

我想要完成的是在pro表中插入或更新数据并返回插入/更新的数据与关系。由于该表与另一个表有关系,我很难让它在一个查询中工作。我需要返回数据的原因是我需要使用 SQL 服务器上的最新数据相应地更新缓存。

我在节点服务器上编写后端,并使用 pg-node 作为客户端。

下面的代码按预期工作。我只想提高查询的性能和可读性。

预期回报是这样的:

这可以在一个查询中完成吗?我找不到任何有助于在线完成此任务的内容。

信息:我在我的数据库中使用 uuid。这就是我插入 id 的原因。

0 投票
0 回答
38 浏览

node.js - 将多个值插入到 PostgreSQL 中的表的列中

假设我想在 PostregSQL 中的表中插入多行。下面的示例显示了如何仅使用一行来执行此操作,但是如果我想插入几行怎么办?怎么做?如果我有多个姓名使用相同的电子邮件?