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

MongoDB $unset अगर शर्त पूरी होती है

प्रश्न

  • सिस्टम वैरिएबल का उपयोग करता है $$REMOVE यदि किसी फ़ील्ड को यह मान मिल जाता है तो उसे हटा दिया जाता है
  • तो शर्त है user.code , पुराना मान रखें यदि नहीं "BLOCKED" ,"CANCELLED" , अन्यथा "$$REMOVE" मैदान

यहां टेस्ट कोड

db.collection.aggregate([
  {
    "$set": {
      "user.code": {
        "$cond": [
          {
            "$in": [
              "$user.status",
              [
                "BLOCKED",
                "CANCELLED"
              ]
            ]
          },
          "$$REMOVE",
          "$user.code"
        ]
      }
    }
  }
])

संपादित करें

उपरोक्त कोड user.status . की जांच करता है लेकिन आप user.olderAdress.status . के आधार पर कोड हटाना चाहते हैं या नहीं (आराम के बाद) (इसकी 2 फ़ील्ड समान नाम स्थिति के साथ)

प्रश्न (इसे आपके पास पहले से मौजूद चरणों के बाद जोड़ें)

टेस्ट कोड

{
    "$set": {
      "user.code": {
        "$cond": [
          {
            "$in": [
              "$user.status",
              [
                "BLOCKED",
                "CANCELLED"
              ]
            ]
          },
          "$$REMOVE",
          "$user.code"
        ]
      }
    }
  }



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $अनविंड के बिना सरणी के अंदर डुप्लिकेट खोजें

  2. MongoDB में जन्मतिथि स्टोर करने का सबसे अच्छा तरीका क्या है?

  3. स्प्रिंग डेटा मोंगोडब आईडी फील्ड मैपिंग

  4. स्प्रिंग डेटा MongoDB उदाहरण काम नहीं कर रहा

  5. मैक्सडिस्टेंस की मोंगोडब नेवला इकाई