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

MongoDB ढांचे का उपयोग करके कीमैप को वेक्टर में बदलना

जैसा कि @Philipp ने अपनी टिप्पणियों में ठीक ही उल्लेख किया है

हालाँकि, यदि आप पहले से जानते थे कि कुंजियाँ क्या हैं तो आप एकत्रीकरण ऑपरेटरों का उपयोग कर सकते हैं $शाब्दिक , $addToSet और $setUnion वांछित परिणाम प्राप्त करने के लिए। एकत्रीकरण पाइपलाइन इस प्रकार होगी:

db.collection.aggregate([
    {
        "$project": {

            "attrs.A1.key": { "$literal": "A1" },
            "attrs.A1.type": "$attrs.A1.type",
            "attrs.A1.value": "$attrs.A1.value",
            "attrs.A2.key": { "$literal": "A2" },
            "attrs.A2.type": "$attrs.A2.type",
            "attrs.A2.value": "$attrs.A2.value"
        }
    },
    {
        "$group": {
            "_id": "$_id",
            "A1": { "$addToSet": "$attrs.A1" },
            "A2": { "$addToSet": "$attrs.A2" }
        }
    },
    {
        "$project": {
            "attrs": {
                "$setUnion": [ "$A1", "$A2" ]
            }
        }
    }
])

परिणाम :

/* 0 */
{
    "result" : [ 
        {
            "_id" : ObjectId("55361320180e849972938fea"),
            "attrs" : [ 
                {
                    "type" : "T1",
                    "value" : "13",
                    "key" : "A1"
                }, 
                {
                    "type" : "T2",
                    "value" : "14",
                    "key" : "A2"
                }
            ]
        }
    ],
    "ok" : 1
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. स्प्रिंग डेटा MongoDB और allowDiskUse

  2. मोंगो डीबी:उबंटू में एक शार्डिंग क्लस्टर बनाने में असमर्थ

  3. स्प्रिंग डेटा मोंगोडब - एग्रीगेशन फ्रेमवर्क इंटीग्रेशन

  4. MongoCollection बनाम DBCollection java

  5. Django - MongoDB:(लोकलहोस्ट से कनेक्ट नहीं हो सका:27017) कनेक्शन ने इनकार कर दिया