Tại sao bạn sử dụng JSON_VALUE? Trình điều khiển trả về các đối tượng JavaScript gốc. Bạn có thể viết truy vấn là:
select department "department",
ufh "ufh",
libelle "libelle",
nomhopital "nomhopital",
typeservice "typeservice"
from Z_SOUPAP2CARTESITE
where actif=1
Trong truy vấn ở trên, bí danh cột được trích dẫn kép được sử dụng để kiểm soát trường hợp của các khóa.
Theo mặc định, trình điều khiển trả về một mảng mảng (không có khóa). Nếu bạn muốn có một mảng đối tượng, bạn cần chuyển một đối tượng tùy chọn để execute
thay đổi outFormat
. Xem phần này của tài liệu: https://oracle.github. io / node-oracledb / doc / api.html # queryoutputformats
Đây là một ví dụ từ tài liệu:
const result = await connection.execute(
`SELECT department_id, department_name
FROM departments
WHERE manager_id < :id`,
[110], // bind value for :id
{ outFormat: oracledb.OUT_FORMAT_OBJECT }
);
console.log(result.rows);
Nếu bạn muốn sử dụng các hàm tạo JSON trong Oracle, chẳng hạn như JSON_VALUE, bạn phải tránh phân tích cú pháp kép - chỉ cần truy cập chuỗi dưới dạng JSON.
Xem loạt bài này để biết thêm thông tin về cách xây dựng API REST với Node.js và Cơ sở dữ liệu Oracle: https://jsao.io/2018/03/creating-a-rest-api-with-node-js-and-oracle-database/