MongoDB का उपयोग कर के इतने परिचयात्मक उदाहरणों में खोलते हैं, तो आप इस तरह कोड देखें:रखते हुए एक MongoDB डेटाबेस कनेक्शन
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://localhost:port/adatabase", function(err, db)
{
/* Some operation... CRUD, etc. */
db.close();
});
तो MongoDB किसी अन्य डेटाबेस प्रणाली की तरह है, open
और close
संचालन आम तौर पर महंगा समय के लिहाज से कर रहे हैं ।
तो, मेरे सवाल यह है: यह केवल एक बार MongoClient.connect("...
करना है ठीक करने के लिए, कुछ मॉड्यूल वैश्विक को लौट db
मान असाइन, मॉड्यूल में विभिन्न कार्यों है विभिन्न डेटाबेस से संबंधित काम (संग्रह में डालने दस्तावेजों करते हैं, अद्यतन दस्तावेज, आदि इत्यादि) जब उन्हें एप्लिकेशन के अन्य हिस्सों द्वारा बुलाया जाता है (और इस प्रकार db
मान का फिर से उपयोग करें), और फिर, जब आवेदन किया जाता है, तो केवल close
करें। नहीं हर बार जब आप जा सकते हैं और कुछ डेटाबेस से संबंधित ऑपरेशन करने की जरूरत है -
दूसरे शब्दों में, open
और close
एक बार किया जाता है। और आप उस db
ऑब्जेक्ट को फिर से उपयोग करते रहें जो शुरुआती open\connect
के दौरान वापस लौटाया गया था, केवल close
के साथ, जब आप वास्तव में अपने सभी डेटाबेस से संबंधित कार्य के साथ किया जाता है, तो अंत में इसका निपटान करने के लिए।
जाहिर है, चूंकि सभी I/O एसिंच है, close
से पहले आप सुनिश्चित करेंगे कि अंतिम डेटाबेस ऑपरेशन close
जारी करने से पहले पूरा हो गया है। ऐसा लगता है कि यह ठीक होना चाहिए, लेकिन अगर मैं कुछ याद कर रहा हूं तो मैं दोबारा जांचना चाहता हूं क्योंकि मैं मोंगोडीबी के लिए नया हूं। धन्यवाद!
यह भी जांचें [यह] (http://stackoverflow.com/questions/14495975/why-its-recommended-not-to-close-any-mongodb-connection-anywhere-in-node-js-code), आपकी मदद कर सकते हैं –
दिलचस्प .... हाँ, सहायक; आपका बहुत बहुत धन्यवाद! – Lew