MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

अस्थायी डीबी में क्वेरी आउटपुट कैसे स्टोर करें?

मोंगो मूल रूप से "अस्थायी" संग्रह का समर्थन नहीं करता है।

यहाँ करने के लिए एक विशिष्ट बात यह है कि वास्तव में संपूर्ण परिणाम आउटपुट को किसी अन्य DB पर नहीं लिखना है क्योंकि यह पूरी तरह से व्यर्थ होगा क्योंकि Elasticsearch अपनी स्वयं की कैशिंग करता है, इसलिए आपको शीर्ष पर किसी भी परत की आवश्यकता नहीं है।

साथ ही, आईओ चिंताओं के कारण मोंगो या किसी अन्य डीबी को 10k रिकॉर्ड का परिणाम सेट लिखना आम तौर पर एक बुरा विचार है।

आप जिस बारे में बात कर रहे हैं उसके लिए एक सुविधा अनुरोध है:https://jira.mongodb.org/ ब्राउज़ करें/सर्वर-3215 लेकिन अभी तक कोई योजना नहीं है।

उदाहरण

आपके पास परिणामों की तालिका हो सकती है।

इस तालिका में आपके पास एक ऐसा दस्तावेज़ होगा जो इस तरह दिखता है:

{keywords: ['bok', 'mongodb']}

हर बार जब आप प्रत्येक परिणाम आइटम को खोजते हैं और स्क्रॉल करते हैं तो आप इस तालिका में उस खोज परिणाम के कीवर्ड के साथ कीवर्ड फ़ील्ड को पॉप्युलेट करते हुए एक पंक्ति लिखेंगे। यह प्रति खोज परिणाम प्रति खोज परिणाम सूची प्रति खोज होगा। जैसे ही वे आते हैं, प्रत्येक खोज परिणाम को MongoDB में स्ट्रीम करना शायद सबसे अच्छा होगा। मैंने कभी भी पायथन को प्रोग्राम नहीं किया है (हालांकि मैं सीखना चाहता हूं) इसलिए छद्म में एक उदाहरण:

var elastic_results = [{'elasticresult'}];
foreach(elastic_results as result){
    //split down the phrases in this result and make a keywords array
    db.results_collection.insert(array_formed_from_splitting_down_result); // Lets just lazy insert no need for batch or trying to shrink the amount of data to one go or whatever, lets just stream it in.
}

इसलिए जैसे ही आप अपने परिणामों के साथ जाते हैं, आप मूल रूप से जितनी जल्दी हो सके बड़े पैमाने पर सम्मिलित करते हैं, मोंगोडीबी में इनपुट की "स्ट्रीम" का एक प्रकार बनाते हैं। यह इसे बहुत अच्छी तरह से कर सकता है।

इसके बाद आपको MRs जैसी चीज़ों को प्रोसेस करने के लिए शब्दों और भाषा क्रियाओं की एक संक्षिप्त सूची देनी चाहिए और उनके बारे में आँकड़ों को एकत्रित करने के लिए सामान देना चाहिए।

आपके परिदृश्य के बारे में अधिक से अधिक जाने बिना यह मेरा सबसे अच्छा उत्तर है।

यह अस्थायी तालिका अवधारणा का उपयोग नहीं करता है बल्कि इसके बजाय आपके डेटा को स्थायी बनाता है जो इसकी आवाज़ से ठीक है क्योंकि आप आगे के कार्यों के लिए मोंगो को स्टोरेज इंजन के रूप में उपयोग करना चाहते हैं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. पॉप्युलेट के जवाब में पथ का नाम कैसे बदलें

  2. MongoDB से डेटा कैसे वापस करें

  3. MongoDB प्रतिकृति दिल की धड़कन अनुरोध समय पार हो गया

  4. MongoDB से अंतिम दस्तावेज़ की पहचान करें () परिणाम सेट करें

  5. मैं NodeJS के MongoDB देशी ड्राइवर के माध्यम से db.copyDatabase कैसे निष्पादित कर सकता हूं?