用IN子句使用node-postgres select的正确方法



我正在尝试锻炼如何将逗号分隔的值字符串传递到中的中的postgres选择中子句查询使用node-postgres,但不幸的是,似乎不能得到它的工作,不能找到任何例子。

我有以下代码:

function getUser() {
let inList = "'qwerty', 'qaz'";
const result = await pgPool.query("SELECT name FROM my_table WHERE info IN ($1)", [inList]);  
if (result.rowCount == 1) return result.rows.map(row => row.name)
return false
}

基本上希望最终结果查询处理:

SELECT name FROM my_table WHERE info IN ('qwerty', 'qaz')

不确定这是否实际上是正确的方式做这个与pgPool?

正确的方法是在Github上的常见问题解答中->https://github.com/brianc/node-postgres/wiki/FAQ 11-how-do-i-build-a-where-foo-in——query-to-find-rows-matching-an-array-of-values

你应该能够这样做:

pgPool.query("SELECT name FROM my_table WHERE info = ANY ($1)", [jsArray], ...);

最新更新