Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB Aggregate: अन्य संग्रह के मिलान फ़ील्ड के लिए JSON सरणी फ़ील्ड


इसके लिए दो संग्रह बनाएं और $lookup का उपयोग करके मिलान करें। आइए पहला संग्रह बनाते हैं:


पहले संग्रह के दस्तावेज़:

{ "_id" : "1", "Details" : [ { "PId" : "200" }, { "PId" : "201" }, { "PId" : "201" } ] }

दूसरा संग्रह बनाएं


दूसरे संग्रह के दस्तावेज़:

{ "_id" : "200", "CustEmailId" : "John@gmail.com" }
{ "_id" : "201", "CustEmailId" : "Carol@gmail.com" }

JSON सरणी फ़ील्ड को अन्य संग्रह से मिलान करने की क्वेरी


परिणाम:


व्याख्या: $unwind सरणी को फैलाता है, $lookup दूसरे संग्रह से जुड़ता है, $arrayElemAt पहला मिलान ईमेल लेता है, $group वापस सरणी में जोड़ता है।

  1. - MongoDB में दो संग्रहों को कैसे एग्रीगेट करें जहां एक संग्रह का फ़ील्ड दूसरे से बड़ा हो?

    इसके लिए $lookup का उपयोग कर सकते हैं। आइए दस्तावेज़ों के साथ पहला संग्रह बनाएं: > db.demo446.insert([ ...    { "ProductName": "Product1", "ProductPrice": 60 }, ...    { "ProductName": "Product2", "ProductPrice": 90

  1. - MongoDB में कलेक्शन को एग्रीगेट करके फील्ड काउंट के अनुसार ग्रुप कैसे करें?

    MongoDB aggregate() में $group का उपयोग करके कलेक्शन को एग्रीगेट करें और फील्ड काउंट के अनुसार ग्रुप करें। नमूना डेटा बनाना db.demo616.insertOne({details:{Name:Chris,Age:24}}); सभी दस्तावेज़ देखना db.demo616.find(); { details : { Name : Chris, Age : 21 } } { details : { Name : Chris, Age : 22 }

  1. - MongoDB कलेक्शन के सभी दस्तावेजों में नया फील्ड जोड़ें

    नया फील्ड जोड़ने के लिए, MongoDB में $addFields का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo712.insertOne({Name:John}); { acknowledged : true, insertedId : ObjectId(5ea85f675d33e20ed1097b82) } > db.demo712.insertOne({Name:Chris}); { acknowledged : true, insertedId : Ob