Liên quan đến UPDATE multiple rows from multiple params in nodejs/pg, tôi cần phải chạy như sau:Chuyển đổi đối tượng mảng vào mảng tương thích với nodejs/pg/unnest
update portfolios p
set votes = s.votes
from unnest(array[(5, 1), (15, 1), (25, 2)]) s (votes int, id int)
where p.id = s.id
nơi mảng của tôi trong unnest là $ 1, như sau:
update portfolios p
set votes = s.votes
from unnest($1) s (votes int, id int)
where p.id = s.id
Tuy nhiên, mảng của tôi ban đầu bao gồm các đối tượng, như:
[{votes: 5, id: 1}, {votes: 15, id: 1}, {votes: 25, id: 2}]
tôi đã cố gắng để chuyển đổi nó với:
my_array = my_array.map(function(e) { return tuple(e.votes, e.id); });
Nhưng điều đó không thành công.
Tôi cần sửa mảng tương thích với các giá trị để sử dụng với pg và Client.query.
Làm cách nào để chuyển đổi mảng đối tượng của mình để tôn trọng javascript và postgresql không cần thiết?
Tại sao bạn cần thực hiện câu lệnh 'update' đơn lẻ này; tại sao không chạy nhiều câu lệnh 'update'? –
Tôi đang sử dụng nodejs với pg không hỗ trợ nhiều truy vấn mà không tạo ra vòng lặp thủ công giữa tất cả các câu lệnh - rõ ràng. Nếu giải pháp khác có sẵn tôi là tất cả tai. –
Làm thế nào nó thất bại? Có cách nào để xuất truy vấn đang được cung cấp cho Postgresql không? –