Подскажите, никак не могу вставить множество строк из объекта в базу.
Сервер на Node+express, для подключения к базе использую pg
Данные для примера.
const data = [
{ id: 1, status: 'ok', type: 'def', time: '22:15' },
{ id: 2, status: 'error', type: 'error', time: '22:15' },
{ id: 3, status: 'ok', type: 'def', time: '22:15' },
]
await pool.query(
`INSERT INTO public.orders(id, status, type, time) \
VALUES ($1, $2, $3, $4) RETURNING *`,
data.map((item) => [item.id, item.status, item.type, item.time])
)
Получаю ошибку bind message supplies 3 parameters, but prepared statement "" requires 4
Т.е. при переборе, он каждый массив считает как отдельный параметр, а не как набор параметров.
Отдельно отправлять запросы с каждой строкой не вариант, таких строк может быть несколько десятков тысяч, и положить сервер не хочется.
Как правильно писать множество данных в базу одним запросом?