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

MongoDB में समान API में समानांतर में समान दस्तावेज़ को क्वेरी करना

ऐसा लगता है कि आप समानांतर संस्करण में अधिक कोड चला रहे हैं

// The normal version
let normal = await ContentRepo.geBySkillIdWithSourceFiltered(
    [chosenSkillsArr[0].sid!],
    readContentIds,
    body.isVideoIncluded,
    true,
    true
);


// The code inside the parallel version:
chosenSkillsArr.map(async (skill: IScrapeSkillDocument) => {
        const result = await ContentRepo.geBySkillIdWithSourceFiltered(
            [skill.sid!],
            readContentIds,
            body.isVideoIncluded,
            true,
            true
        );
    })
[chosenSkillsArr[0].sid!], vs  chosenSkillsArr.map()

समानांतर संस्करण के लिए, आप फ़ंक्शन कॉल डाल रहे हैं (ContentRepo.geBySkillIdWithSourceFiltered ) एक लूप के अंदर। इसलिए यह धीमा है।

समानांतर में चल रहे वादों के बारे में प्रश्न के लिए:

जैसे Promise.all , Promise.allSettled कई वादों का इंतजार यह इस बात की परवाह नहीं करता कि वे किस क्रम को हल करते हैं, या क्या संगणना समानांतर में चल रही है। वे दोनों समवर्ती और न ही विपरीत की गारंटी नहीं देते हैं। उनका काम सिर्फ यह सुनिश्चित करना है कि उन्हें दिए गए सभी वादों को पूरा किया जाए।

इसलिए आप मैन्युअल रूप से वादा निष्पादन की समानता की गारंटी नहीं दे सकते

यह रहा वास्तव में एक दिलचस्प लेख समानांतरवाद और Promise.All . की व्याख्या करते हुए और कैसे ब्राउज़र Nodejs API आपके कंप्यूटर पर स्थापित Nodejs API से समानता के संदर्भ में भिन्न है।

यहाँ लेख के निष्कर्ष का अंश दिया गया है:

साइड नोट:

एक सूक्ष्म अंतर है:

  1. Promise.all:केवल तभी हल होता है जब उसके पास किए गए सभी वादे हल हो जाते हैं अन्यथा यह पहले अस्वीकृत वादे त्रुटि के साथ अस्वीकार कर देगा।

  2. Promise.allSettled:हमेशा हल किए गए और अस्वीकृत वादों के बारे में जानकारी रखने वाले सरणी के साथ हल हो जाएगा।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला - findByIdAndUpdate - req.body के साथ काम नहीं करता

  2. MongoDB में स्ट्रिंग को ऐरे में कैसे बदलें?

  3. स्प्रिंग-डेटा-मोंगोडीबी के साथ एक इकाई में @TextIndex नाम कैसे सेट करें?

  4. MongoDB:केस सेंसिटिव, एक्सेंट और प्रतिशत जैसे लॉजिक (%) को अनदेखा करते हुए दस्तावेज़ कैसे खोजें

  5. 2022 के लिए MongoDB ट्यूटोरियल - जानें कि MongoDB क्या है?