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

मोंगोडब में समुच्चय के दौरान सशर्त रूप से फ़ील्ड कैसे प्रोजेक्ट करें?

अपडेट किया गया

यह एकत्रीकरण skill_score . का मान निर्धारित करेगा करने के लिए 0 अगर _कौशल मौजूद नहीं है, तो $redact<का उपयोग करें /कोड> skill_score . वाले उप-दस्तावेज़ को हटाने के लिए 0 . के बराबर है :

db.project_if.aggregate([
  {
    $unwind: {
      path: '$_skills',
      preserveNullAndEmptyArrays: true,
    }
  },
  {
    $project: {
      _skills: {
        label: '$_skills',
        skill_score: {
          $cond: {
            if: {
              $eq: ['$_skills', undefined]
            },
            then: 0,
            else: 1,
          }
        }
      }
    }
  }, 
  {
    $redact: {
      $cond: {
        if: { $eq: [ "$skill_score", 0 ] },
        then: '$$PRUNE',
        else: '$$DESCEND'
      }
    }
  }
]);

परिणाम इस प्रकार होगा:

[
  { "_id" : '', "_skills" : { "label" : "skill1", "skill_score" : 1 } },
  { "_id" : '', "_skills" : { "label" : "skill2", "skill_score" : 1 } },
  { "_id" : '' },
]



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. डोकर कंटेनर में चल रहे MongoDB से कैसे कनेक्ट करें?

  2. ValueError:<अनपैक करने के लिए बहुत अधिक मान>

  3. ObjCMongoDB में गैर-सीआरयूडी और गैर-मूल मोंगोडीबी कमांड कैसे करें?

  4. चयन_संबंधित () का उपयोग करने के बाद मोंगोइंजिन डिफरेंसिंग होता है

  5. g++ स्थिर लिंक libmongcxx(r3.0.2) नहीं कर सकता लेकिन गतिशील लिंक काम करता है