2017-06-09 10 views
7

से mongodb प्रतिक्रिया सरणी को कैसे परिवर्तित करें मैंने एक जावास्क्रिप्ट एपीआई लिखा है जो अनुरोध पर mongodb डेटाबेस से सभी डेटा देता है। हालांकि यह डेटा को ऑब्जेक्ट्स की एक सरणी भेज रहा है और मैं सरल जेसन स्ट्रिंग प्राप्त करना चाहता हूं। ऑब्जेक्ट्स लौटने का बयानजावास्क्रिप्ट ऑब्जेक्ट से JSON स्ट्रिंग

return db.collection('variants').find().toArray(); 

क्या मुझे JSON.stringify() जैसे किसी अन्य फ़ंक्शन को जोड़ने की आवश्यकता है? लेकिन मुझे लगता है कि एक ही वस्तु के लिए काम है, लेकिन मेरे मामले में वस्तुओं की सरणी के लिए नहीं।

var fetch = require('graphql-fetch'); 
const API_URL = `http://localhost:4000/graphql` 
const query = ` 
{ 
    variants{ 
    VARIANT_ID 
    CHROM 
    } 
} 
` 
fetch(API_URL)(query).then(data => console.log(data)) 

enter image description here

+0

यह JSON नहीं है, यह बीएसओएन है। और यह एक जावास्क्रिप्ट ऑब्जेक्ट है क्योंकि आप जावास्क्रिप्ट का उपयोग कर रहे हैं। बेशक आपको पार्स करने की जरूरत है। \ –

+0

क्लाइंट साइड या सर्वर पक्ष पर? –

+0

अच्छी तरह से आप MongoDB से कनेक्ट सर्वर प्रोग्राम। यदि आप एक्सप्रेस का उपयोग कर रहे हैं तो ['res.json()'] (https://expressjs.com/en/api.html#res.json) है। इसके अलावा यह nodejs है तो'toArray() 'को कॉलबैक या वादा समाधान की आवश्यकता होती है। –

उत्तर

4

ठीक है, मैं समाधान मिल गया। मुझे बस JSON.stringify(data) की आवश्यकता है।

var fetch = require('graphql-fetch'); 
const API_URL = `http://localhost:4000/graphql` 
const query = ` 
{ 
    variants{ 
    VARIANT_ID 
    CHROM 
    } 
} 
` 
fetch(API_URL)(query).then(data => console.log(JSON.stringify(data))) 
+0

कभी-कभी ... सबसे सरल जवाब वह है जिसे आप पहले ही जानते हैं;) –

-3

आप mongoexport उपयोग कर सकते हैं।

इस ऑपरेशन को करने के लिए आपको डेटाबेस तक पहुंच पढ़ने की आवश्यकता है।

उदाहरण के लिए: mongoexport --db डेटाबेस [--collection यातायात] --out file.json

0

निम्न स्निपेट ठीक से काम करेगा।

fetch('/users.json') 
.then(function(response) { 
    return response.json() 
}).then(function(json) { 
    console.log('parsed json', json) 
}).catch(function(ex) { 
    console.log('parsing failed', ex) 
}) 
संबंधित मुद्दे