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

नेवला में पूरे ऐप में डीबी कनेक्शन साझा करना

विकल्प 1:साझा किए गए ऑब्जेक्ट का उपयोग करें

मेरा मॉडल कोड समान दिखता है, लेकिन बार-बार मॉड्यूल की आवश्यकता के बजाय मुझे केवल एक बार उनकी आवश्यकता होती है जब एप्लिकेशन शुरू होता है और फिर परिणामों को किसी साझा ऑब्जेक्ट को असाइन करता है। उदाहरण के लिए यदि आप एक एक्सप्रेस ऐप का उपयोग कर रहे हैं तो आप कुछ ऐसा कर सकते हैं जैसे app.locals.models.User = require('./models/user'); . फिर app . तक पहुंच के साथ कुछ भी आवश्यकता के बिना अपने मॉडल देख सकते हैं।

विकल्प 2:निर्यात किए गए फ़ंक्शन में एकल संशोधन सुनिश्चित करें

आप अपने उपयोगकर्ता मॉड्यूल को इस प्रकार परिभाषित कर सकते हैं:

var mongoose = require('mongoose');

var userSchema = new mongoose.Schema({name: String});

var User = null;

module.exports = function(db) {
  if (db && User === null) {
    User = db.model('User', userSchema);
  }
  return User;
};

जब आप अपना आवेदन शुरू करते हैं तो आपको बस यह करना होगा:require('./models/user')(db) . बाद में आपके आवेदन में अन्य मॉड्यूल की आवश्यकता होती है db पैरामीटर, User . के रूप में केवल एक बार सेट किया जाएगा।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मुझे अपने नोड/एक्सप्रेस/मोंगोडब ऐप की संरचना कैसे करनी चाहिए?

  2. CentOS 7 पर MongoDB 3.0.2 सेवा प्रारंभ करने में असमर्थ

  3. मोंगोडब एकत्रीकरण में मिलीसेकंड को आज तक कैसे परिवर्तित करें?

  4. मोंगोडब रेगुलर एक्सप्रेशन में मल्टीबाइट utf8 वर्णों का मिलान

  5. स्थानीय SQLite बनाम दूरस्थ MongoDB