gpt4 book ai didi

node.js - NodeJS,pg-promise 和数组作为参数

转载 作者:行者123 更新时间:2023-11-29 13:14:17 25 4
gpt4 key购买 nike

运行 NodeJSpg-promise

我有一个数组:

let my_array = new array('x', 'y', 'z');

我正在尝试将其作为参数传递给我的 PostgreSQL 查询,使用 pg-promise:

db_webhooks.any('SELECT cars FROM my_cars WHERE id IN ($1)', [my_array])
.then...

但它因类型错误而失败。我尝试 .join 数组,但也出现错误,因为它导致字符串 'x,y,z' 而不是 'x' ,'y','z'.

打印出调用的调试/查询给我:

QUERY: SELECT cars FROM my_cars WHERE id IN (array['x','y','z'])

这应该是:

QUERY: SELECT cars FROM my_cars WHERE id IN ('x','y','z')

最佳答案

图书馆支持CSV Filter为此目的:

await db.any('SELECT cars FROM my_cars WHERE id IN ($1:csv)', [my_array])
/*=> SELECT cars FROM my_cars WHERE id IN ('x', 'y', 'z') */

或者你可以使用:list,两者是一样的:

await db.any('SELECT cars FROM my_cars WHERE id IN ($1:list)', [my_array])
/*=> SELECT cars FROM my_cars WHERE id IN ('x', 'y', 'z') */

关于node.js - NodeJS,pg-promise 和数组作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51133309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com