$match নথিগুলিকে ফিল্টার করে শুধুমাত্র সেই নথিগুলিকে পাস করতে যা নির্দিষ্ট শর্তের সাথে মেলে পরবর্তী পাইপলাইন পর্যায়ে৷
$project নথি বরাবর অনুরোধ করা ক্ষেত্রগুলির সাথে পাইপলাইনের পরবর্তী পর্যায়ে চলে যায়৷
আসুন একটি উদাহরণ দেখি এবং নথি সহ একটি সংগ্রহ তৈরি করি -
> db.demo545.insert({Name:"Chris",details:{SubjectScore1:56,SubjectScore2:56}}) WriteResult({ "nInserted" : 1 }) > db.demo545.insert({Name:"David",details:{SubjectScore1:78,SubjectScore2:78}}) WriteResult({ "nInserted" : 1 })
Find() পদ্ধতি -
এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন> db.demo545.find();
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : ObjectId("5e8e246e9e5f92834d7f05d5"), "Name" : "Chris", "details" : { "SubjectScore1" : 56, "SubjectScore2" : 56 } } { "_id" : ObjectId("5e8e24709e5f92834d7f05d6"), "Name" : "David", "details" : { "SubjectScore1" : 78, "SubjectScore2" : 78 } }
$match এবং $project −
বাস্তবায়নের জন্য নিচের প্রশ্নটি রয়েছে>db.demo545.aggregate([{$match:{}},{$project:{"_id":0,"details.SubjectScore1":1,out:"$details .SubjectScore2"}},{$group:{_id:"$out"}}])
এটি নিম্নলিখিত আউটপুট তৈরি করবে −
{ "_id" : 78 } { "_id" : 56 }