Running NodeJS and pg-promise.
I've got an array:
let my_array = new array('x', 'y', 'z');
I'm trying to pass this as a parameter to my PostgreSQL query with pg-promise:
db_webhooks.any('SELECT cars FROM my_cars WHERE id IN ($1)', [my_array])
  .then...
But it fails with type error.
I've tried to .join the array, but also get error, as it result in a string 'x,y,z' instead of 'x','y','z'.
Printing out the debug/query called gives me:
QUERY: SELECT cars FROM my_cars WHERE id IN (array['x','y','z'])
This should be:
QUERY: SELECT cars FROM my_cars WHERE id IN ('x','y','z')
                The library supports CSV Filter for this purpose:
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') */
or you can use :list, which is the same:
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') */
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With