समस्या भीड़ के साथ नेवला संगतता में कहीं है।
यह प्रत्येक "थ्रेड" के लिए नया "कनेक्ट" ईवेंट सक्रिय करता है और आप कनेक्ट पर दस्तावेज़ को हटाते हैं https://gist.github.com/wootwoot1234/49cb7d082850d93f8cd03da164644cfb#file-index-js-L100 :
db.once('open', async function() {
await Message.deleteOne(messageQuery); // <=== remove it from here to fix the problem
throng({
worker: start,
count: 50,
lifetime: Infinity
});
});
यह थ्रेड्स, विशेष रूप से कनेक्शन पूल के बीच वैश्विक चर को अलग करने के तरीके के कारण होना चाहिए। डिफ़ॉल्ट रूप से नेवला कनेक्शन पूल 5 है, जिसका अर्थ है कि एक समय में डेटाबेस में 5 से अधिक कनेक्शन नहीं हैं। कनेक्शन लागत बचाने के लिए ड्राइवर उन्हें खुला रखता है और पुन:उपयोग करता है।
यदि आप एटलस कनेक्शन की निगरानी की जांच करते हैं तो आप इस स्क्रिप्ट को चलाने पर कुछ अतिरिक्त 100 कनेक्शन देखेंगे।