এই জন্য, $lookup ব্যবহার করুন. এটি প্রক্রিয়াকরণের জন্য "যোগদান করা" সংগ্রহ থেকে দস্তাবেজগুলি ফিল্টার করার জন্য একই ডাটাবেসের একটি অপরিশোধিত সংগ্রহে একটি বাম বাইরের যোগদান সম্পাদন করে৷
আসুন প্রথমে নথি-
সহ একটি সংগ্রহ তৈরি করি> db.demo395.insertOne({Name:"Chris"});{ "স্বীকৃত" :true, "insertedId" :ObjectId("5e5e782317aa3ef9ab8ab207")}> db.demo395.insertOne({নাম:"Da) });{ "স্বীকৃত" :সত্য, "insertedId" :ObjectId("5e5e782317aa3ef9ab8ab208")}
Find() পদ্ধতি -
এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন> db.demo395.find();
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" :ObjectId("5e5e782317aa3ef9ab8ab207"), "নাম" :"ক্রিস" }{ "_id" :ObjectId("5e5e782317aa3ef9ab8ab208"), "নাম" :"ডেভিড" }
আসুন ডকুমেন্ট সহ একটি দ্বিতীয় সংগ্রহ তৈরি করি -
> db.demo396.insertOne({"বিস্তারিত" :[... ObjectId("5e5e782317aa3ef9ab8ab207"),... ObjectId("5e5e782317aa3ef9ab8ab208")... ]... }... ){ "স্বীকৃত " :true, "insertedId" :ObjectId("5e5e787817aa3ef9ab8ab209")}
Find() পদ্ধতি -
এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন> db.demo396.find();
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" :ObjectId("5e5e787817aa3ef9ab8ab209"), "বিস্তারিত" :[ObjectId("5e5e782317aa3ef9ab8ab207"), ObjectId("5e5e782317aa3ef9ab8ab209")>অবজেক্ট আইডি −
-এর অ্যারেতে $lookup সঞ্চালনের জন্য নিচের প্রশ্নটি রয়েছে> db.demo396.aggregate([... { "$lookup":{... "from":"demo395",... "let":{ "details":"$details" }, ... "পাইপলাইন":[... { "$match":{ "$expr":{ "$in":[ "$_id", "$$details" ] } } }... ], .. "যেমন":"আউটপুট"... }}... ])এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" :ObjectId("5e5e787817aa3ef9ab8ab209"), "বিস্তারিত" :[ ObjectId("5e5e782317aa3ef9ab8ab207"), ObjectId("5e5e782317aa3ef9ab8ab208,"ObjectId("817ab8ab208,"ObjectId208" :"83ab208" :"8182317aa3ef9ab8ab208,"ObjectId208" :83ab208" :"83abd) ), "নাম" :"ক্রিস" }, { "_id" :ObjectId("5e5e782317aa3ef9ab8ab208"), "নাম" :"ডেভিড" } ] }