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

मोंगोडीबी $ समूह (मोंगो खेल का मैदान)

आपको दो अतिरिक्त चरणों की आवश्यकता है। सबसे पहले आप $reduce चला सकते हैं ExerciseDetail flatten को समतल करने के लिए जो अब सरणियों की एक सरणी है। एक बार यह हो जाने के बाद आप $map चला सकते हैं। नेस्टेड $filter के साथ Sets को पेयर करने के लिए ExerciseDetails के साथ :

{
    $addFields: {
        ExerciseDetail: {
            $reduce: {
                input: "$ExerciseDetail",
                initialValue: [],
                in: {
                    $concatArrays: [ "$$value", "$$this" ]
                }
            }
        }
    }
},

{
    $project: {
        _id: 1,
        Sets: {
            $map: {
                input: "$Sets",
                as: "set",
                in: {
                    $let: {
                        vars: {
                            exDetail: {
                                $arrayElemAt: [
                                    { $filter: { input: "$ExerciseDetail", cond: { $eq: [ "$$this._id", "$$set.ExerciseId" ] } } },
                                    0
                                ]
                            }
                        },
                        in: {
                            $mergeObjects: [
                                "$$set", "$$exDetail"
                            ]
                        }
                    }
                }
            }
        }
    }
}

मोंगो प्लेग्राउंड




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongoDB में भू-स्थानिक जानकारी कैसे संग्रहीत करें?

  2. Mongodb/pymongo . में स्ट्रिंग लंबाई के आधार पर छाँटें

  3. नेवला सभी को कॉलबैक नहीं भेज रहा है

  4. मैं MongoDB शेल में चल रही क्वेरी को कैसे निरस्त करूं?

  5. MongoDB:प्रत्येक दस्तावेज़ को एक फ़ील्ड पर अपडेट करें