मैं एक प्रोग्राम लिख रहा हूं जो नोड.जेएस का उपयोग कर पोस्टग्रेस्क्ल डेटाबेस से पूछताछ करता है। मेरे पास डेटाबेस से सही क्वेरी आ रही है। मुझे बस आउटपुट के प्रारूप में समस्या है। मुझे परिणाम किसी अन्य समारोह में भेजने की आवश्यकता है।

मैं डेटाबेस को क्वेरी करने के लिए Postgresql और nodejs का उपयोग कर रहा हूं और मेरा परिणाम { model: 'Antonov An-148 (241 nmi)' } के रूप में सामने आ रहा है। मैं चाहता हूं कि Antonov An-148 (241 nmi) परिणाम हो और setValue फ़ंक्शन पर भेजा जाए।

क्या मुझे डेटाबेस से अलग तरीके से पूछताछ करनी चाहिए क्योंकि मेरे पास गणना के लिए अन्य कार्यों को भेजने के लिए अन्य प्रश्न हैं?

client.connect()
    .then(() => console.log("Connected successfuly"))
    .then(() => client.query("select model from \"aircraftModels\" where model = $1", ["Antonov An-148 (241 nmi)"]))
    .then (results => setValue(results.rows))
    .catch(e => console.log(e))
    .finally(() => client.end())

function setValue(value){
    console.log(value);
}

वास्तविक परिणाम: { model: 'Antonov An-148 (241 nmi)' }

अपेक्षित परिणाम: Antonov An-148 (241 nmi)

0
jamo1909 30 अक्टूबर 2019, 17:24

1 उत्तर

सबसे बढ़िया उत्तर

यदि यह एक जेसन स्ट्रिंग के रूप में वापस आ रहा है तो आप निम्न कार्य करेंगे।

JSON.parse(value) के साथ स्ट्रिंग को पार्स करें, फिर आप उस पर .model को कॉल कर सकते हैं।

const value = JSON.parse(value);
console.log(value.model)

हालांकि ऐसा प्रतीत होता है कि आपको पहले से ही एक वैध जावास्क्रिप्ट ऑब्जेक्ट मिल रहा है, इसलिए आपको value.model . को कॉल करने में सक्षम होना चाहिए

ऐसा प्रतीत होता है कि आपके साथ चर्चा करने से आपका अनुरोध एक सरणी लौटा रहा है, ऐसा इसलिए है क्योंकि आपके पास एक से अधिक हो सकता है। डेटाबेस का पहला परिणाम पढ़ने के लिए आप value[0].model कर सकते हैं

1
Morphasis 30 अक्टूबर 2019, 14:50