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

MongoDB में ऑब्जेक्ट मान के विरुद्ध प्रासंगिक जानकारी प्राप्त करें

  • $arrayElemAt dic . से पहला तत्व प्राप्त करने के लिए सरणी
  • $objectToArray कन्वर्ट A सरणी पर आपत्ति
  • $reduce परिवर्तित सरणी के ऊपर तत्व के लूप को पुनरावृत्त करने के लिए और स्थिति की जांच करें यदि _id.A डेटा के साथ मेल खाता है A फिर विशिष्ट फ़ील्ड लौटाएं,
  • B . के लिए भी यही प्रक्रिया करें और C
db.collection.aggregate([
  {
    $addFields: {
      dic: { $arrayElemAt: ["$dic", 0] }
    }
  },
  {
    $project: {
      _id: 1,
      dic: {
        A: {
          $reduce: {
            input: { $objectToArray: "$dic.data.A" },
            initialValue: "Not Found",
            in: {
              $cond: [
                { $eq: ["$$this.k", "$_id.A"] },
                "$$this.v.name",
                "$$value"
              ]
            }
          }
        },
        B: {
          $reduce: {
            input: { $objectToArray: "$dic.data.B" },
            initialValue: "Not Found",
            in: {
              $cond: [
                { $eq: ["$$this.k", "$_id.B"] },
                "$$this.v.description",
                "$$value"
              ]
            }
          }
        },
        C: {
          $reduce: {
            input: { $objectToArray: "$dic.data.C" },
            initialValue: "Not Found",
            in: {
              $cond: [
                { $eq: ["$$this.k", "$_id.C"] },
                "$$this.v.description",
                "$$value"
              ]
            }
          }
        }
      }
    }
  }
])

खेल का मैदान




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb . में तिथियों के अनुसार समूह

  2. हम एक्सप्रेस/नोडज में अनुरोध प्राथमिकता को कैसे संभालते हैं?

  3. C# का उपयोग करके MongoDB में डिसेरिएलाइज़िंग इंटरफ़ेस - अज्ञात विवेचक मूल्य

  4. मोंगो अपडेट स्पीड

  5. क्या MongoDB में संग्रहीत सरणियाँ अपना क्रम बनाए रखती हैं?