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

मोंगोडब - $ समूह एक $ समूह के अंदर ('कुंजी' द्वारा)

आप नेस्टेड $cond जोड़ सकते हैं 123 या 456 कुंजियों को फ़िल्टर करने के लिए। फिर, एक अंतिम $project मंच का उपयोग सरणी के निर्माण के लिए किया जा सकता है।

db.events.aggregate([
    {"$group":
        {   "_id":"$KLLS",
            "Processus":{"$push":{"$cond":[{"$eq":["$type","Processus"]},'$$ROOT',false]}},
            "Work123":
                {"$push":
                    {"$cond":
                        [
                            {"$eq":["$type","Work"]},
                            {"$cond":
                                [
                                    {"$eq":["$key","123"]},
                                    '$$ROOT',
                                    false
                                ]
                            },
                            false
                        ]
                    }
                },
            "Work456":
                {"$push":
                    {"$cond":
                        [
                            {"$eq":["$type","Work"]},
                            {"$cond":
                                [
                                    {"$eq":["$key","456"]},
                                    '$$ROOT',
                                    false
                                ]
                            },
                            false
                        ]
                    }
                },
            "Viewing":{"$push":{"$cond":[{"$eq":["$type","Viewing"]},'$$ROOT',false]}}
        }
    },
    {"$project": { "_id":0, "KLLS":"$_id", "Processus":{"$setDifference":["$Processus",[false]]},
        "123":{"$setDifference":["$Work123",[false]]},
        "456":{"$setDifference":["$Work456",[false]]},
        "Viewing":{"$setDifference":["$Viewing",[false]]}
        }
    },
    {"$project": { "KLLS":1, "Processus":1, "Work" : [{"123" : "$123"}, {"456" : "$456"}],"Viewing":1}}
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब दस्तावेज़ में _id फ़ील्ड को कैसे अपडेट करें

  2. MongoDB में लंबे समय से चल रहे संचालन का प्रबंधन

  3. CURSOR_NOT_FOUND - मेरी क्रॉन नौकरियां बीच में ही मरने लगीं

  4. Meteorjs में Mongo डेटा एन्क्रिप्ट करें

  5. MongoDB गिनती संग्रह Node.js