运行NodeJS和pg-promise。
我有一个数组:
let my_array = new array('x', 'y', 'z');我尝试使用pg-promise将其作为参数传递给PostgreSQL查询
db_webhooks.any('SELECT cars FROM my_cars WHERE id IN ($1)', [my_array])
.then...但由于类型错误而失败。我尝试对数组执行.join操作,但也得到了错误,因为它生成的是字符串'x,y,z'而不是'x','y','z'。
打印出调用的debug/query给我:
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')发布于 2018-07-04 00:39:37
该库支持用于此目的的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') */https://stackoverflow.com/questions/51133309
复制相似问题