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

$switch . का उपयोग करके MongoDB एकत्रीकरण में स्कोर जोड़ना

ऐसा लगता है {"name": "sitt"} हमेशा सत्य . का समाधान करता है . इसके बजाय आपको **$eq** . का उपयोग करना चाहिए इसे काम करने के लिए ऑपरेटर।

यह भी ध्यान दें कि आपका **$match** चरण को बहुत सरल किया जा सकता है क्योंकि आपके 3 भाव इसके बराबर हैं

{$match: {name: /sitt/i}}

तो आपकी क्वेरी बन जाती है:

db.getCollection('tags').aggregate([
   {
      $match:{
         name:/sitt/i
      }
   },
   {
      $project:{
         name: 1,
         score:{
            $switch:{
               branches:[
                  {
                     case:{
                        $eq:[
                           "$name",
                           "sitt"
                        ]
                     },
                     then:100
                  }
               ],
               default:50
            }
         }
      }
   }
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB C# ड्राइवर का उपयोग करके सभी दस्तावेज़ों से सरणी तत्व निकालें

  2. पायथन में वस्तुओं की सरणी में शामिल हों और प्रारूपित करें

  3. ऑब्जेक्ट आईडी में मशीन आईडी/होस्ट नाम को 3 बाइट में कैसे मैप/डिमैप किया जाता है?

  4. कुल 16MB सीमा से बचें

  5. जब मैं हाइबरनेट ओजीएम और स्प्रिंग बूट का उपयोग करने का प्रयास करता हूं तो कंसोल देता है नामित रणनीति वर्ग त्रुटि को तत्काल नहीं कर सका