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

क्या नेवला फाइंडवन ऑन मॉडल एक वादा लौटाता है?

क्योंकि findOne async है फ़ंक्शन, इससे लौटने का एक तरीका callback . के माध्यम से है समारोह

module.exports.isAdmin = function(user_id, callback) {
  var params = {'roles': 'admin'};

  dao.findOne(params, function(err, user) {
    if (err) {
      logger.error(err);
      callback && callback(false);
    }
    if (_.indexOf(user.roles, 'admin') != -1) {
      logger.info("admin user: " + user._id);
      if (user._id == user_id)
          callback && callback(true);
    }
    callback && callback(true);
  });
};

isAdmin(userId, function(v) {
    console.log(v);
})

दूसरा तरीका है वादा प्राप्त करना findOne में , जैसा कि इस दस्तावेज़ ने कहा, .exec() आपको एक पूर्ण वादा देता है। यहां तक ​​कि Promise . के साथ भी , आपकी आवश्यकता को पूरा करने के लिए, परिणाम कॉलबैक फ़ंक्शन के माध्यम से वापस किया जा सकता है।

module.exports.isAdmin = function(user_id, callback) {
  var params = {'roles': 'admin'};

  var queryPromise = dao.findOne(params).exec();
  queryPromise.then(function(user) {
      if (_.indexOf(user.roles, 'admin') != -1) {
        logger.info("admin user: " + user._id);
        if (user._id == user_id)
          callback && callback(true);
      }
    }, function(err) {
      callback && callback(false);
  });
};



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी:अपडेट/अप्सर्ट बनाम इंसर्ट

  2. Multer - एक बार फाइल सबमिट हो जाने के बाद अपलोड.फील्ड्स () का उपयोग करके फाइलों को कैसे हैंडल करें

  3. MongoDB डिज़ाइन - टैग

  4. मोंगो और उल्का में नेस्टेड श्रेणी के लिए सर्वोत्तम अभ्यास

  5. MongoDB क्वेरी में चर का उपयोग कैसे करें?