2015-02-11 11 views
6

के साथ कोआ में स्ट्रीमिंग क्वेरी से स्ट्रीमिंग प्रतिक्रिया लिखना मैं एक मोंगो डेटाबेस से कोआ एप्लिकेशन (मोंगोस का उपयोग करके) के लिए एक बड़ा परिणाम-सेट भेजने की कोशिश कर रहा हूं।मोंगोस

मैं मूल रूप से की तरह कुछ था:

var res = yield Model.find().limit(500).exec(); 
this.body = {data: res}; 

हालांकि, परिणाम के आकार भेजा जा रहा है निर्धारित समय बाहर करने के लिए आवेदन पैदा कर रहा था, और इस तरह के रूप में मैं प्रतिक्रिया स्ट्रीम करने के लिए के रूप में यह से आता है करना चाहते हैं डेटाबेस।

नेवला के साथ आप की तरह कुछ कर रही द्वारा एक धारा में एक प्रश्न का परिणाम बदल सकते हैं:

var stream = Model.find().limit(300).stream(); 

हालांकि, मुझे यकीन है कि जबकि प्रारूप की जरूरत संरक्षण कैसे प्रतिक्रिया में इस धारा लिखने के लिए नहीं कर रहा हूँ। मैं तो होना ही कुछ इस तरह हैं:

this.body.write("{data: "}); 
this.body.write(stream); 
this.body.write("}"); 

लेकिन मैं जानता हूँ कि कोआ में कोई body.write नहीं है और मुझे यकीन है कि मैं ठीक से या तो धाराओं का उपयोग नहीं कर रहा हूँ कर रहा हूँ। क्या कोई मुझे सही दिशा दिखा सकता है?

उत्तर

4

koa-write मदद कर सकता है।

लेकिन आपको इसकी आवश्यकता नहीं हो सकती है। कोआ तुम क्या करने की अनुमति देता है:

this.body = stream; 

अपने मामले में आप एक धारा को बदलने के बाद से नेवला धारा नहीं है कि वास्तव में क्या आप उत्पादन करना चाहते हैं बना सकते हैं।