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

मार्गों, नियंत्रकों और मॉडलों का उपयोग करके NodeJS परियोजना के मिडलवेयर कोड को पुन:सक्रिय करना

दो चीजें हैं, जो संयोजन में उपयोग किए जाने पर, कोड को बहुत अच्छा बना देंगी:

  • Collection.find एक वादा लौटाता है ।
  • आधुनिक Javascript में किसी वादे के समाधान की प्रतीक्षा करने के लिए, await . का उपयोग करें

आप निम्न कोड का उपयोग कर सकते हैं:

const Person= require('./models/person')
const Mortician = require('./models/mortician')
router.get('/', async (req, res, next) => {
  try {
    const persons = await Person.find({ pickedUp: false });
    const morticians = await Mortician.find({});
    res.render('pages/dashboard', {
      title: 'Dashboard',
      persons,
      morticians,
    });
  } catch(e) {
    // handle errors
  }
});

या, सीरियल के बजाय समानांतर में परिणाम प्राप्त करने के लिए, Promise.all . का उपयोग करें :

router.get('/', async (req, res, next) => {
  try {
    const [persons, morticians] = await Promise.all([
      Person.find({ pickedUp: false }),
      Mortician.find({})
    ]);
    res.render('pages/dashboard', {
      title: 'Dashboard',
      persons,
      morticians,
    });
  } catch(e) {
    // handle errors
  }
});

जब भी आपके पास करने के लिए कई एसिंक्रोनस कॉल हों, तो आप उसी तरह के पैटर्न का उपयोग कर सकते हैं - बदसूरत ब्रैकेट नेस्टिंग और इंडेंटेशन की कोई आवश्यकता नहीं है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला दो संग्रहों में शामिल होता है और सम्मिलित संग्रह से केवल विशिष्ट फ़ील्ड प्राप्त करता है

  2. MongoDB:--query विकल्प के साथ mongoexport का उपयोग करते समय समस्या

  3. सरणी के भीतर मिलान तिथियों के लिए क्वेरी

  4. Mongodb findOne () रिटर्न वैल्यू नहीं नोडज

  5. MongoDB $addFields और $in कुल मिलाकर