आप JSON_VALUE का उपयोग क्यों कर रहे हैं? ड्राइवर मूल JavaScript ऑब्जेक्ट लौटाता है। आप क्वेरी को इस प्रकार लिख सकते हैं:
select department "department",
ufh "ufh",
libelle "libelle",
nomhopital "nomhopital",
typeservice "typeservice"
from Z_SOUPAP2CARTESITE
where actif=1
उपरोक्त क्वेरी में, डबल-उद्धृत कॉलम उपनामों का उपयोग चाबियों के मामले को नियंत्रित करने के लिए किया जाता है।
डिफ़ॉल्ट रूप से, ड्राइवर सरणियों की एक सरणी देता है (कोई कुंजी नहीं)। यदि आप वस्तुओं की एक सरणी चाहते हैं, तो आपको execute
. के लिए एक विकल्प ऑब्जेक्ट पास करना होगा जो outFormat
. को बदल देता है . दस्तावेज़ का यह भाग देखें:https://oracle.github. io/node-oracledb/doc/api.html#queryoutputformats
यहाँ दस्तावेज़ से एक उदाहरण दिया गया है:
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);
यदि आप Oracle में JSON जनरेशन फ़ंक्शंस का उपयोग करना चाहते हैं, जैसे JSON_VALUE, तो आपको डबल पार्स से बचना होगा - बस स्ट्रिंग को JSON के रूप में एक्सेस करें।
Node.js और Oracle डेटाबेस के साथ REST API बनाने के बारे में अधिक जानकारी के लिए यह श्रृंखला देखें:https://jsao.io/2018/03/creating-a-rest-api-with-node-js-and-oracle-database/