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

$लुकअप परिणाम में $मिलान

MongoDB 3.4 के साथ, आप एक एकत्रीकरण पाइपलाइन चला सकते हैं जो $addFields पाइपलाइन और एक $filter ऑपरेटर केवल Company को लौटाएगा दिए गए शर्त से मेल खाने वाले तत्वों के साथ सरणी। फिर आप $filter अभिव्यक्ति के साथ $arrayElemAt ऑपरेटर को एक एकल दस्तावेज़ वापस करने के लिए, जिसमें संक्षेप में $unwind सरणी को समतल करके कार्यक्षमता।

उपरोक्त अवधारणा को समझने के लिए इस उदाहरण का अनुसरण करें:

db.users.aggregate([
    { "$match": { "UserName": "administrator" } },
    { 
        "$lookup": { 
            "from": 'companies', 
            "localField": 'CompanyID', 
            "foreignField": 'CompanyID', 
            "as": 'Company' 
        } 
    },
    {
        "$addFields": {
            "Company": {
                "$arrayElemAt": [
                    {
                        "$filter": {
                            "input": "$Company",
                            "as": "comp",
                            "cond": {
                                "$eq": [ "$$comp.CompanyName", "edt5" ]
                            }
                        }
                    }, 0
                ]
            }
        }
    }
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में शर्त के साथ नेस्टेड दस्तावेज़ निकालें

  2. लौटाए गए रिकॉर्ड में अनावश्यक फ़ील्ड (नेस्टेड फ़ील्ड) को कैसे फ़िल्टर करें

  3. 'आइडेंटिटी कॉन्टेक्स्ट' नहीं मिला (क्या आप एक प्रयोग निर्देश या असेंबली संदर्भ खो रहे हैं)

  4. नए मोंगो सी # ड्राइवर में सभी को कैसे खोजें और इसे तुल्यकालिक बनाएं

  5. एकल (प्राथमिक नोड केवल) प्रतिकृति सेट (विकास के लिए) के लिए डोकर मोंगो?