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

संग्रह को छानने के लिए बेहतर पैटर्न

मैं DotA संदर्भ के कारण इसका उत्तर देने के लिए विशेष रूप से प्रेरित महसूस कर रहा हूं। :)

इसलिए यदि मैं समस्या को सही ढंग से समझता हूं, तो आपको प्रत्येक संयोजन की जांच करने की आवश्यकता नहीं है, बल्कि बार-बार query में कुंजी जोड़ने की आवश्यकता है। तीन सत्र चर की सामग्री के आधार पर वस्तु। मुझे लगता है कि निम्नलिखित तार्किक रूप से आपके returnFilterQuery के बराबर है ऊपर कार्य करें।

var returnFilterQuery = function() {
  var query = {game: 'dota'};

  var modifyQueryIfArray = function(key, sessionKey) {
    var value = Session.get(sessionKey);
    if (!_.isEmpty(value))
      query[key] = {$in: value};
  };

  modifyQueryIfArray('gamemode', 'dotaMode');
  modifyQueryIfArray('region', 'dotaRegion');
  modifyQueryIfArray('skill', 'dotaSkill');

  return Session.set('dotaFilter', query);
};

ध्यान दें कि isEmpty length . से अधिक सुरक्षित जांच हो सकती है यदि सत्र चर एक सरणी नहीं है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB के लिए मशीन पूल और क्लाउड प्रोफाइल

  2. mongoDB में सभी विषयों के अंकों को कैसे एकत्रित करें

  3. पाइमोंगो उबंटू आयात करने में विफलता

  4. क्या विकिपीडिया का मानचित्र कम करने की व्याख्या गलत है?

  5. $near और 2d अनुक्रमणिका का उपयोग करके मोंगो भौगोलिक स्थान सटीक नहीं है