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

NodeJs एप्लिकेशन और मॉड्यूल में Mongodb से कनेक्शन का ठीक से पुन:उपयोग कैसे करें

आप एक mongoUtil.js बना सकते हैं मॉड्यूल जिसमें दोनों मोंगो से कनेक्ट होते हैं और एक मोंगो डीबी इंस्टेंस लौटाते हैं:

const MongoClient = require( 'mongodb' ).MongoClient;
const url = "mongodb://localhost:27017";

var _db;

module.exports = {

  connectToServer: function( callback ) {
    MongoClient.connect( url,  { useNewUrlParser: true }, function( err, client ) {
      _db  = client.db('test_db');
      return callback( err );
    } );
  },

  getDb: function() {
    return _db;
  }
};

इसका उपयोग करने के लिए, आप इसे अपने app.js . में करेंगे :

var mongoUtil = require( 'mongoUtil' );

mongoUtil.connectToServer( function( err, client ) {
  if (err) console.log(err);
  // start the rest of your app here
} );

और फिर, जब आपको किसी और .js . की तरह, कहीं और मोंगो तक पहुंच की आवश्यकता होती है फ़ाइल, आप यह कर सकते हैं:

var mongoUtil = require( 'mongoUtil' );
var db = mongoUtil.getDb();

db.collection( 'users' ).find();

इसके काम करने का कारण यह है कि नोड में, जब मॉड्यूल require . होते हैं 'डी, वे केवल एक बार लोड/सोर्स किए जाते हैं, इसलिए आप केवल _db के केवल एक उदाहरण के साथ समाप्त होंगे और mongoUtil.getDb() हमेशा वही उदाहरण लौटाएगा।

नोट, कोड का परीक्षण नहीं किया गया।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एक दस्तावेज़ और उसके सभी उप-दस्तावेज़ों को क्वेरी करें जो मोंगोडब में एक शर्त से मेल खाते हैं (वसंत का उपयोग करके)

  2. MongoDB में किसी सरणी में मान जोड़ने के 2 तरीके

  3. अगर मौजूद नहीं है तो नेवला कई ऑब्जेक्ट को सरणी में जोड़ता है

  4. एक नए/दूसरे मोंगो डेटाबेस में उपयोगकर्ता को जोड़ने के लिए मुझे कौन से मोंगोडीबी उपयोगकर्ता विशेषाधिकारों की आवश्यकता है?

  5. Mongodb 3.6.0-rc3 सरणी फ़िल्टर काम नहीं कर रहे हैं?