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

Node.js . का उपयोग करके MongoDB से कनेक्ट करने का सबसे अच्छा तरीका

आप एक वैश्विक चर . का उपयोग कर सकते हैं कनेक्शन रखने के लिए (उदा. db ), उदाहरण के लिए:

var db = null // global variable to hold the connection

MongoClient.connect('mongodb://localhost:27017/', function(err, client) {
    if(err) { console.error(err) }
    db = client.db('test') // once connected, assign the connection to the global variable
})

app.get('/', function(req, res) {
    db.collection('test').find({}).toArray(function(err, docs) {
        if(err) { console.error(err) }
        res.send(JSON.stringify(docs))
    })
})

या, यदि आप चाहें, तो आप वादा वस्तु . का भी उपयोग कर सकते हैं जो MongoClient . द्वारा लौटाया जाता है अगर इसे कॉलबैक तर्क के बिना कहा जाता है:

var conn = MongoClient.connect('mongodb://localhost:27017/') // returns a Promise

app.get('/', function(req, res) {
    conn.then(client=> client.db('test').collection('test').find({}).toArray(function(err, docs) {
        if(err) { console.error(err) }
        res.send(JSON.stringify(docs))
    }))
})

कृपया ध्यान दें कि मैंने दूसरे उदाहरण में ES6 वसा तीर फ़ंक्शन परिभाषा का उपयोग किया है।

आप बिल्कुल सही हैं कि आपको MongoClient . पर कॉल नहीं करना चाहिए हर बार। ग्लोबल वैरिएबल या प्रॉमिस का इस्तेमाल करने से MongoDB नोड.जेएस ड्राइवर एक कनेक्शन पूल बना सकता है, जो कम से कम दो अच्छी चीजें हासिल करता है:

  • कनेक्शन का पूल में पुन:उपयोग किया जाता है, इसलिए आपके आवेदन के जीवनकाल के लिए कोई भी महंगी सेटअप/टियरडाउन प्रक्रिया नहीं है। आप एक बार कनेक्ट करें, और ड्राइवर को आपके लिए बाकी की देखभाल करने दें।
  • कनेक्शन पूल के आकार को सीमित करके, आप अपने एप्लिकेशन द्वारा डेटाबेस में किए जाने वाले कनेक्शन की मात्रा को नियंत्रित कर सकते हैं।

2018-08-24 संपादित करें :MongoClient.connect() node.js ड्राइवर संस्करण 3.0 में विधि और नया डेटाबेस ऑब्जेक्ट के बजाय क्लाइंट ऑब्जेक्ट देता है। ऊपर दिए गए उदाहरणों को नवीनतम नोड.जेएस ड्राइवर संस्करण के साथ अद्यतित रखने के लिए संशोधित किया गया था।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब क्वेरी किसी दिए गए कुंजी वाले रिकॉर्ड का चयन करने के लिए

  2. MongoDB Stitch के साथ Android के लिए एक नोट लेने वाला ऐप बनाएं

  3. MongoDB C# ड्राइवर में जेनरेट की गई स्क्रिप्ट प्राप्त करें

  4. जांचें कि क्या MongoDB अप्सर्ट ने एक इंसर्ट या अपडेट किया है

  5. मोंगोडीबी $फ़िल्टर