এই জন্য, দুটি সংগ্রহ তৈরি করুন এবং কিছু নথি যোগ করুন। এর পরে, ম্যাচের জন্য $lookup ব্যবহার করুন। আসুন নথি-
সহ একটি সংগ্রহ তৈরি করি> db.demo101.insertOne( ... { "_id" : "1", "Details" : [ { "PId" : "200" }, { "PId" : "201" }, { "PId" : "201" } ] } ... ) { "acknowledged" : true, "insertedId" : "1" }
Find() পদ্ধতি -
এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন> db.demo101.find();
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : "1", "Details" : [ { "PId" : "200" }, { "PId" : "201" }, { "PId" : "201" } ] }
কিছু নথি-
সহ দ্বিতীয় সংগ্রহ তৈরি করার প্রশ্নটি নিম্নরূপ> db.demo102.insertOne( ... { "_id" : "201", "CustEmailId" : "[email protected]" } ... ); { "acknowledged" : true, "insertedId" : "201" }
Find() পদ্ধতি -
এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন> db.demo102.find();
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : "200", "CustEmailId" : "[email protected]" } { "_id" : "201", "CustEmailId" : "[email protected]" }
অন্যান্য সংগ্রহের মিলিত ক্ষেত্রের জন্য JSON অ্যারে ক্ষেত্রকে একত্রিত করার জন্য নিম্নলিখিত প্রশ্ন রয়েছে -
> db.demo101.aggregate( ... [ ... {$unwind:"$Details"}, ... {$lookup : {from : "demo102", "localField":"Details.PId", "foreignField":"_id", as :"out"}}, ... {$project : {"_id":1, "Details.PId":{$arrayElemAt:["$out.CustEmailId",0]}}}, ... {$group:{_id:"$_id", Details : {$push : "$Details"}}} ... ] ... ).pretty()
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : "1", "Details" : [ { "PId" : "[email protected]" }, { "PId" : "[email protected]" }, { "PId" : "[email protected]" } ] }