इसके लिए दो संग्रह बनाएं और कुछ दस्तावेज़ जोड़ें। उसके बाद, मैच के लिए $lookup का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo101.insertOne(... { "_id" :"1", "Details" :[ { "PId" :"200" }, { "PId" :"201" }, { "PId" " :"201" } ] }... ){ "स्वीकृत" :सच, "insertId" :"1" }
संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo101.find();
यह निम्नलिखित आउटपुट देगा -
{ "_id" :"1", "Details" :[ { "PId" :"200" }, { "PId" :"201" }, { "PId" :"201" } ] }पूर्व>कुछ दस्तावेज़ों के साथ दूसरा संग्रह बनाने की क्वेरी निम्नलिखित है -
> db.demo102.insertOne(... { "_id" :"201", "CustEmailId" :"[email protected]" }... );{ "acknowledged" :true, "insertedId" :"201" }संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo102.find();यह निम्नलिखित आउटपुट देगा -
{ "_id" :"200", "CustEmailId" :"[email protected]" }{ "_id" :"201", "CustEmailId" :"[email protected]" }अन्य संग्रह के मेल खाने वाले फ़ील्ड के लिए JSON सरणी फ़ील्ड को एकत्रित करने की क्वेरी निम्नलिखित है -
> db.demo101.aggregate(... [... {$अनविंड:"$Details"},... {$लुकअप :{from:"demo102", "localField":"Details.PId" , "ForeignField":"_id", as :"out"}},... {$project :{"_id":1, "Details.PId":{$arrayElemAt:["$out.CustEmailId",0 ]}}},... {$group:{_id:"$_id", विवरण :{$push :"$Details"}}}... ]... ).pretty()यह निम्नलिखित आउटपुट देगा -
{ "_id" :"1", "Details" :[ { "PId" :"[email protected]" }, { "PId" :"[email protected]" }, { "PId" :"कैरोल@gmail.com" } ]}