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

MongoDB ड्राइवर में घटनाओं को फिर से जोड़ने के लिए सुनें

सुनिश्चित करें कि आप कर सकते हैं। मूल रूप से हालांकि आपको मूल रूप से MongoClient से निचले स्तर पर EventEmitter में टैप करने की आवश्यकता है स्वयं।

आप स्पष्ट रूप से देख सकते हैं कि ऐसी चीजें मौजूद हैं क्योंकि वे "लॉगिंग" में दिखाई दे रही हैं, जिसे सेटिंग के माध्यम से ड्राइवर में चालू किया जा सकता है:

{ "loggerLevel": "info" }

तब से यह वास्तव में वास्तविक स्रोत उत्सर्जक में दोहन की बात है। मैंने इन्हें निम्नलिखित सूची में किया है, साथ ही किसी दिए गए उत्सर्जित से गणना की गई घटनाओं को प्राप्त करने के लिए एक छोटी सी चाल भी शामिल है, जिसे स्वीकार्य रूप से इसे ट्रैक करने में स्वयं द्वारा उपयोग किया गया था:

const MongoClient = require('mongodb').MongoClient;

function patchEmitter(emitter) {
  var oldEmit = emitter.emit;

  emitter.emit = function() {
    var emitArgs = arguments;

    console.log(emitArgs);

    oldEmit.apply(emitter, arguments);
  }

}


(async function() {

  let db;

  try {

    const client = new MongoClient();

    client.on('serverOpening', () => console.log('connected') );

    db = await client.connect('mongodb://localhost/test', {
      //loggerLevel: 'info'
    });

    //patchEmitter(db.s.topology);

    db.s.topology.on('close', () => console.log('Connection closed') );
    db.s.topology.on('reconnect', () => console.log('Reconnected') );


  } catch(e) {
    console.error(e)
  }

})()

तो उन दो श्रोताओं ने परिभाषित किया:

    db.s.topology.on('close', () => console.log('Connection closed') );
    db.s.topology.on('reconnect', () => console.log('Reconnected') );

जब कनेक्शन गिरता है, और जब एक पुन:कनेक्ट होता है तो आग लग जाती है। अन्य चीजें भी हैं जैसे पुन:कनेक्ट करने के प्रयास जो घटना उत्सर्जक में भी हैं जैसे आप loggerLevel के साथ देखेंगे सेटिंग चालू है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. जावा ड्राइवर के माध्यम से एटलस एम0 (फ्री टियर) क्लस्टर से सही तरीके से कैसे कनेक्ट करें?

  2. मोंगो डीबी ऑब्जेक्ट आईडी जेएसओएन सीरिएलाइज़र का उपयोग करके deserializing

  3. एकत्रीकरण के लिए एक संरचना तैयार करना

  4. Mongodb (v2.4.0) $मिलान कुल दिनांक सीमा के साथ काम नहीं कर रहा है

  5. नेवला खाली सरणी लौटाता है