आप एक 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()
हमेशा वही उदाहरण लौटाएगा।
नोट, कोड का परीक्षण नहीं किया गया।