यदि आप पहले से ही डेटाबेस से जुड़े हैं, तो once घटना फिर से आग नहीं लगेगी। डेटाबेस पहले से ही संपूर्ण NodeJs प्रक्रिया के लिए जुड़ा हुआ था जब यह वैश्विक रूप से जुड़ा हुआ था (फ़ंक्शन के बाहर)।
कॉल करने के लिए mongoose.connect('mongodb://localhost/test'); कनेक्शन बनाता है और इसे खोलता है।
इसलिए, प्रत्येक फ़ंक्शन कॉल पर इसे खोलने के बजाय (जो MongoDB के साथ बातचीत करने का एक अक्षम तरीका होगा) connect NodeJs ऐप शुरू होने पर तुरंत, और विचार करें कि एक ऐसी अवधि होगी जहां कनेक्शन उपलब्ध नहीं हो सकता है (जैसा कि यह async है), या ऐप शुरू न करें (listen ) जब तक कनेक्शन पूरा नहीं हो जाता (या टाइमआउट के साथ)। नेवला के साथ, जब तक कनेक्शन नहीं हो जाता, सभी कमांड बफ़र हो जाते हैं (लेकिन यह वह व्यवहार नहीं हो सकता जो आप चाहते हैं)। आप open का उपयोग कर सकते हैं घटना अगर आप जानना चाहते हैं कि कनेक्शन कब पूरा हो गया है।
कनेक्शन यहां पाया गया है:mongoose.connection यदि आप connect . का उपयोग करते हैं कनेक्शन बनाने के लिए कार्य करें।
एक बार कनेक्शन खुल जाने के बाद, आप इसे अपने popSingleData . से उपयोग कर सकते हैं once का उपयोग किए बिना कार्य करें घटना और कॉलबैक। एक कनेक्शन पूल स्वचालित रूप से बनाए रखा जाता है।
कनेक्शन के बारे में अधिक जानकारी के लिए, यहां पढ़ें .