NodeJS,pg-promise和数组作为参数

时间:2018-07-02 09:47:41

标签: node.js postgresql pg-promise

运行DataGridNodeJS

我有一个数组:

pg-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'])

1 个答案:

答案 0 :(得分:1)

图书馆为此目的支持CSV Filter

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,它是相同的:

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') */