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

MongoDB के साथ ज़िप सरणियाँ

MongoDB 3.4 से शुरू करके, हम $zip हमारे सरणियों को ज़िप करने के लिए ऑपरेटर।

कहा जा रहा है, जब तक आप अपने सरणी की लंबाई नहीं जानते, हम आपका अपेक्षित आउटपुट प्राप्त नहीं कर सकते।

db.collection.aggregate( [ 
    { "$project": { 
        "zipped": { 
            "$zip": { "inputs": [ "$A", "$B", "$C" ] } 
        } 
    }}
])

जो उत्पादन करता है:

{ 
    "_id" : ObjectId("578f35fb6db61a299a383c5b"),
    "zipped" : [
        [ "A1", "B1", 100 ],
        [ "A2", "B2", 200 ],
        [ "A3", "B3", 300 ]
    ]
}

यदि हमें प्रत्येक उप-सरणी में तत्वों की संख्या ज्ञात होती है, तो हम $नक्शा वेरिएबल ऑपरेटर जो उप-दस्तावेज़ की एक सरणी लौटाता है।

$नक्शा . में अभिव्यक्ति, हमें उपयोग करने की आवश्यकता है $arrayElemAt ऑपरेटर को सेट . करने के लिए हमारे क्षेत्र ए, बी, और सी का मूल्य।

db.collection.aggregate( [ 
    { "$project": { 
        "zipped": { 
            "$map": { 
                "input": { 
                    "$zip": { "inputs": [ "$A", "$B", "$C" ] } 
                }, 
                "as": "el", 
                "in": { 
                    "A": { "$arrayElemAt": [ "$$el", 0 ] }, 
                    "B": { "$arrayElemAt": [ "$$el", 1 ] }, 
                    "C": { "$arrayElemAt": [ "$$el", 2 ] } 
                } 
            }
        }
    }}
] )

जो उत्पादन करता है:

{
    "_id" : ObjectId("578f35fb6db61a299a383c5b"),
    "zipped" : [
        {
            "A" : "A1",
            "B" : "B1",
            "C" : 100
        },
        {
            "A" : "A2",
            "B" : "B2",
            "C" : 200
        },
        {
            "A" : "A3",
            "B" : "B3",
            "C" : 300
        }
    ]
}



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

  2. क्या मोंगो में पाइपलाइन के साथ कुशलतापूर्वक क्रमबद्ध करना, समूह बनाना और सीमित करना संभव है?

  3. सभी दस्तावेज़ खोजें जहाँ फ़ील्ड मौजूद नहीं है, साथ ही यदि फ़ील्ड मौजूद है तो शर्त लागू करें

  4. MongoDB - सम्मिलित आइटम की वापसी आईडी

  5. कुल क्वेरी में $geoNear के बारे में अस्पष्टता