हमारे मानचित्र के विकास के दौरान-नौकरियों को कम करने के दौरान हमारे एमआर कोड डेटा-कम होने वाले डेटा के स्वतंत्र डायग्नोस्टिक डेटा संरचनाओं को स्वतंत्र रूप से उत्पन्न करता है। क्या इन आंकड़ों को उस कोड पर लाने का कोई आसान तरीका है जिसे मैपराइडस कहा जाता है या उन्हें मोंगो में बने रहने का कोई आसान तरीका है? बस लॉग फ़ाइल में लिखना बहुत उप-इष्टतम होने के रूप में बदल रहा है (ए) वहां पहले से बहुत सारे डेटा हैं और (बी) हमारी नैदानिक जानकारी अत्यधिक संरचित है और वास्तव में, हम इसके खिलाफ प्रश्नों को चलाने के लिए चाहते हैं यह।MongoDB: mapReduce दुष्प्रभाव
मेरी जांच अब तक बताती है कि एमआर डेटा संरचना मूल्य (धारावाहिकरण के माध्यम से) द्वारा पारित की जाती है ताकि किसी भी इन-मेमोरी डेटा संरचनाएं खो जाएंगी, जिनमें "वैश्विक" दायरे से जुड़े हुए हैं। नामस्थान मुख्य जेएस सर्वर-साइड नेमस्पेस से अलग हैं इसलिए dbeval
उन तक पहुंचने के लिए प्रतीत नहीं होता है (या, कम से कम, मुझे नहीं पता कि कहां देखना है)। अंतिम लेकिन कम से कम नहीं, हालांकि सभी डेटाबेस ऑब्जेक्ट्स और फ़ंक्शंस मौजूद हैं, 10gen उनके उपयोग को रोकने के लिए त्रुटि संदेशों को उत्पन्न कर रहा है (उदाहरण के लिए, coll.insert
फ़ंक्शन नहीं होने पर typeof coll.insert === 'function'
true
है।
स्पष्ट होने के लिए, मुझे एक नोड में विकास के लिए ऐसा करने में दिलचस्पी है, क्योंकि मोंगोडीबी में लॉगिंग/डिबगिंग समर्थन काफी सीमित है। इस प्रकार के दुष्प्रभाव उत्पादन वातावरण में अच्छे नहीं हैं।
सटीक रूप से यह किस प्रकार का डेटा उत्पन्न कर रहा है? एमआर के आउटपुट को संग्रह में रखा जा सकता है .. सी # में, मैं इसे इस प्रकार निर्दिष्ट करता हूं: MyInputCollection.MapReduce (नक्शा, कम करें, MapReduceOptions.SetOutput ("MyOutputCollection")); फिर आप लगातार संग्रह 'MyOutputCollection' से पढ़ते हैं। –
मैं एमआर आउटपुट से स्वतंत्र जानकारी को सहेजना चाहता हूं। इसके बारे में डेटा निकास के रूप में सोचें, उदाहरण के लिए, विस्तृत संरचित लॉगिंग/बेंचमार्किंग जानकारी के लिए जिसे मैं कोड के साथ संसाधित करना चाहता हूं, इसलिए मैं इसे लॉग फ़ाइलों में समाप्त नहीं करना चाहता हूं। – Sim
क्या आपने लॉगिंग के लिए एक कैप्ड संग्रह का उपयोग करने का प्रयास किया है .. मुझे समझ में नहीं आता कि coll.insert क्यों विफल होना चाहिए .. –