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

नेवले के खोज फ़ंक्शन के लिए क्वेरी ऑब्जेक्ट पैरामीटर में पारित अपरिभाषित मानों पर ध्यान न दें?

आपको अपनी res.query को फ़िल्टर करना होगा पहले अपरिभाषित/खाली मानों से ऑब्जेक्ट करें, और फिर इसे find . पर पास करें समारोह। यदि आपके पास कुछ ही गुण हैं, तो आप if . का उपयोग कर सकते हैं कथन:

const query = req.query;
const conditions = {};

if (query.what) {
  conditions.what = query.what;
}

if (query.where) {
  conditions.where = query.where;
}

....


Sound.find(conditions, function () {});

या यदि बहुत सारी संपत्तियां हैं तो आप उन पर पुनरावृति कर सकते हैं:

const query = req.query;
const conditions = Object.keys(query)
  .reduce((result, key) => {
    if (query[key]) {
      result[key] = query[key];
    }
    return result;
}, {}); 

Sound.find(conditions, function () {});

साथ ही, मैं वास्तविक res.query . से संपत्तियों को हटाने की सलाह नहीं दूंगा ऑब्जेक्ट - delete res.query.what हटाएं - क्योंकि यदि आप चाहें तो आप इसे किसी अन्य मिडलवेयर में उपयोग नहीं कर पाएंगे।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. त्रुटि:मोंगोडब को जोड़ने वाली खिड़कियों पर कोई यूनिक्स सॉकेट समर्थन नहीं है

  2. MongoDB allowDiskUse काम नहीं कर रहा है ..

  3. मोंगोडब एकत्रीकरण में किसी अन्य दस्तावेज़ से आइटम गिनें

  4. PHP से MongoDB संग्रह रन कमांड

  5. MongoDB को नोडज से कनेक्ट करते समय ReplicaSetNoPrimary और MongoServerSelectionError प्राप्त करना त्रुटि