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

NodeJs में Mongodb के वैश्विक कनेक्शन को संभालने का सबसे अच्छा तरीका क्या है?

एक Connection बनाएं ऐप्स डेटाबेस कनेक्शन को प्रबंधित करने के लिए सिंगलटन मॉड्यूल।

MongoClient एक सिंगलटन कनेक्शन पूल प्रदान नहीं करता है इसलिए आप MongoClient.connect() को कॉल नहीं करना चाहते हैं। आपके ऐप में बार-बार। मोंगो क्लाइंट को लपेटने के लिए एक सिंगलटन क्लास मेरे द्वारा देखे गए अधिकांश ऐप्स के लिए काम करता है।

const MongoClient = require('mongodb').MongoClient

class Connection {

    static async open() {
        if (this.db) return this.db
        this.db = await MongoClient.connect(this.url, this.options)
        return this.db
    }

}

Connection.db = null
Connection.url = 'mongodb://127.0.0.1:27017/test_db'
Connection.options = {
    bufferMaxEntries:   0,
    reconnectTries:     5000,
    useNewUrlParser:    true,
    useUnifiedTopology: true,
}

module.exports = { Connection }

हर जगह आपको require('./Connection') , Connection.open() विधि उपलब्ध होगी, जैसा कि Connection.db होगा संपत्ति अगर इसे शुरू किया गया है।

const router = require('express').Router()
const { Connection } = require('../lib/Connection.js')

// This should go in the app/server setup, and waited for.
Connection.open()

router.get('/files', async (req, res) => {
   try {
     const files = await Connection.db.collection('files').find({})
     res.json({ files })
   }
   catch (error) {
     res.status(500).json({ error })
   }
})

module.exports = router


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ops Manager के साथ MongoDB चलाना

  2. नेस्टेड सरणी डेटा के लिए elemMatch के साथ MongoDB क्वेरी

  3. मोंगोस का उपयोग करके मोंगोडीबी में थोक अप्सर्ट

  4. C# MongoDB.Driver GetServer चला गया है, अब क्या?

  5. Node.js . के साथ SSL पर MongoDB से कनेक्ट करना