У меня есть следующий postgresql запрос:
SELECT user_id, username, full_name, avatar, verified FROM users WHERE user_id IN (1,2,3)
Он должен выбрать всех пользователей, у которых идентификатор 1, 2 или 3. Тип идентификатора bigint. В pgadmin этот запрос работает так, как должен, но при использовании node- postgres я получаю следующую ошибку:
error: недопустимый синтаксис ввода для типа bigint: "1 , 2,3 "
Node.js пример кода:
// I have an array user_ids_array containing all user ID's
// I convert it to a string using join()
const user_ids = user_ids_array.join(',')
query = "SELECT user_id, username, full_name, avatar, verified FROM users WHERE user_id IN ($1)"
values = [user_ids]
result = await pool.query(query, values)
Я думаю, это как-то связано с тем, что user_id (field) является целым числом (bigint), а user_ids - строка, но я не знаю, как ее привести.
Я нашел этот вопрос , но я также даю решение, используя WHERE some_id IN (1,2)
.
Заранее спасибо !