ब्लूबर्ड एनपीएम: उदाहरण के साथ ब्लूबर्ड जेएस वादा

ब्लूबर्ड जेएस क्या है?

ब्लूबर्ड जेएस एक पूर्ण विशेषताओं वाली प्रॉमिस लाइब्रेरी है Javaस्क्रिप्ट। ब्लूबर्ड की सबसे मजबूत विशेषता यह है कि यह आपको अन्य नोड मॉड्यूल को "प्रोमिसिफ़ाई" करने की अनुमति देता है ताकि उन्हें एसिंक्रोनस रूप से उपयोग किया जा सके। प्रोमिसिफ़ाई एक अवधारणा है जिसे कॉलबैक फ़ंक्शन पर लागू किया जाता है। इस अवधारणा का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि कॉल किए जाने वाले प्रत्येक कॉलबैक फ़ंक्शन कुछ मान लौटाता है।

इसलिए यदि ए NodeJS मॉड्यूल में एक कॉलबैक फ़ंक्शन होता है जो कोई मान नहीं लौटाता है, और यदि हम नोड मॉड्यूल को Promisify करते हैं, तो उस विशिष्ट नोड मॉड्यूल में सभी फ़ंक्शन स्वचालित रूप से संशोधित हो जाएंगे ताकि यह सुनिश्चित हो सके कि यह एक मान लौटाता है।

तो आप ब्लूबर्ड का उपयोग कर सकते हैं MongoDB मॉड्यूल एसिंक्रोनस रूप से चलता है। यह Node.js एप्लिकेशन लिखते समय आसानी का एक और स्तर जोड़ता है।

हम ब्लूबर्ड मॉड्यूल का उपयोग करने का एक उदाहरण देखेंगे।

हमारा उदाहरण सबसे पहले “EmployeeDB” डेटाबेस में “Employee collection” से कनेक्शन स्थापित करेगा। यदि “then” कनेक्शन स्थापित है, तो यह संग्रह में सभी रिकॉर्ड प्राप्त करेगा और उन्हें तदनुसार कंसोल में प्रदर्शित करेगा।

ब्लूबर्ड JS लाइब्रेरी के साथ प्रॉमिस कैसे उत्पन्न करें

यहाँ चरण दर चरण उदाहरण दिया गया है वादे उत्पन्न करें ब्लूबर्ड जेएस लाइब्रेरी के साथ:

चरण 1) एनपीएम मॉड्यूल स्थापित करना

नोड एप्लिकेशन के भीतर से ब्लूबर्ड का उपयोग करने के लिए, ब्लूबर्ड मॉड्यूल की आवश्यकता होती है। ब्लूबर्ड मॉड्यूल को स्थापित करने के लिए, नीचे दिया गया कमांड चलाएँ

एनपीएम ब्लूबर्ड स्थापित करें

चरण 2) ब्लूबर्ड मॉड्यूल शामिल करें

अगला कदम आपके कोड में ब्लूबर्ड मॉड्यूल को शामिल करना और संपूर्ण को प्रोमिसिफाई करना है MongoDB मॉड्यूल। प्रॉमिसिफ़ाई से हमारा मतलब है कि ब्लूबर्ड यह सुनिश्चित करेगा कि इसमें परिभाषित प्रत्येक विधि MongoDB लाइब्रेरी एक वादा लौटाता है.

ब्लूबर्ड JS लाइब्रेरी के साथ वादे उत्पन्न करें

कोड स्पष्टीकरण:-

  1. require कमांड का उपयोग ब्लूबर्ड लाइब्रेरी को शामिल करने के लिए किया जाता है।
  2. प्रत्येक विधि का एक एसिंक्रोनस संस्करण बनाने के लिए ब्लूबर्ड की .promisifyAll() विधि का उपयोग करें MongoDB मॉड्यूल प्रदान करता है। यह सुनिश्चित करता है कि प्रत्येक विधि MongoDB मॉड्यूल पृष्ठभूमि में चलेगा और यह सुनिश्चित करेगा कि प्रत्येक विधि कॉल के लिए एक वादा वापस किया जाए MongoDB पुस्तकालय।

चरण 3) डेटाबेस से कनेक्ट करें

अंतिम चरण हमारे डेटाबेस से जुड़ना, हमारे संग्रह के सभी रिकॉर्ड को पुनः प्राप्त करना और उन्हें हमारे कंसोल लॉग में प्रदर्शित करना है।

ब्लूबर्ड JS लाइब्रेरी के साथ वादे उत्पन्न करें

कोड स्पष्टीकरण:-

  1. आप देखेंगे कि हम कनेक्ट करने के लिए सामान्य कनेक्शन विधि के बजाय “connectAsync” विधि का उपयोग कर रहे हैं डेटाबेस. ब्लूबर्ड वास्तव में प्रत्येक विधि में Async कीवर्ड जोड़ता है MongoDB लाइब्रेरी का उपयोग करके उन कॉल्स में अंतर किया जा सकता है जो वादे लौटाते हैं और जो वादे नहीं लौटाते। इसलिए इस बात की कोई गारंटी नहीं है कि Async शब्द के बिना विधियाँ कोई मान लौटाएँगी।
  2. connectAsync विधि के समान, अब हम mongoDB 'Employee' संग्रह में सभी रिकॉर्ड्स को वापस करने के लिए findAsync विधि का उपयोग कर रहे हैं।
  3. अंत में, यदि findAsync एक सफल वादा लौटाता है तो हम संग्रह में प्रत्येक रिकॉर्ड के माध्यम से पुनरावृति करने के लिए कोड का एक ब्लॉक परिभाषित करते हैं और उन्हें कंसोल लॉग में प्रदर्शित करते हैं।

यदि उपरोक्त चरण ठीक से किए गए हैं, तो कर्मचारी संग्रह के सभी दस्तावेज़ कंसोल में प्रदर्शित किए जाएंगे जैसा कि नीचे दिए गए आउटपुट में दिखाया गया है।

ब्लूबर्ड JS लाइब्रेरी के साथ वादे उत्पन्न करें

आपके संदर्भ के लिए कोड यहां दिया गया है:

var Promise = require('bluebird');

var mongoClient = Promise.promisifyAll(require('mongodb')).MongoClient;

var url = 'mongodb://localhost/EmployeeDB';
mongoClient.connectAsync('mongodb://localhost/EmployeeDB')

.then(function(db) {
        return db.collection('Employee').findAsync({})

    })
    .then(function(cursor) {
        cursor.each(function(err, doc) {
            console.log(doc);
        })
    });