এর জন্য, aggregate() ব্যবহার করুন। আসুন প্রথমে নথি-
সহ একটি সংগ্রহ তৈরি করি> db.demo393.insertOne( ... { ... Id1: "1", ... Name: "Chris", ... Id2: "100" ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e5e6dd522064be7ab44e804") } > db.demo393.insertOne( ... { ... Id1: "1", ... Name: "Chris", ... Id2: "101" ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e5e6dd522064be7ab44e805") } > db.demo393.insertOne( ... { ... Id1: "3", ... Name: "Chris", ... Id2: "100" ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e5e6dd522064be7ab44e806") } > db.demo393.insertOne( ... { ... Id1: "3", ... Name: "Mike", ... Id2: "101" ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e5e6dd522064be7ab44e807") }
Find() পদ্ধতি -
এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন> db.demo393.find();
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : ObjectId("5e5e6dd522064be7ab44e804"), "Id1" : "1", "Name" : "Chris", "Id2" : "100" } { "_id" : ObjectId("5e5e6dd522064be7ab44e805"), "Id1" : "1", "Name" : "Chris", "Id2" : "101" } { "_id" : ObjectId("5e5e6dd522064be7ab44e806"), "Id1" : "3", "Name" : "Chris", "Id2" : "100" } { "_id" : ObjectId("5e5e6dd522064be7ab44e807"), "Id1" : "3", "Name" : "Mike", "Id2" : "101" }
একটি ক্ষেত্রের বিপরীতে নথির ছেদকে সম্মিলিতভাবে মেলানোর জন্য নিম্নলিখিত ক্যোয়ারী −
> db.demo393.aggregate([ ... { "$match": { "Name": "Chris" } }, ... { "$group": { ... "_id": "$Id1", ... "docs": { "$push": "$$ROOT" }, ... "count": { "$sum": 1 } ... }}, ... { "$match": { ... "count": { "$gt": 1 }, ... "docs": { ... "$all": [ ... { "$elemMatch": { "Id2": "100" } }, ... { "$elemMatch": { "Id2": "101" } } ... ] ... } ... }} ... ])
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : "1", "docs" : [ { "_id" : ObjectId("5e5e6dd522064be7ab44e804"), "Id1" : "1", "Name" : "Chris", "Id2" : "100" }, { "_id" : ObjectId("5e5e6dd522064be7ab44e805"), "Id1" : "1", "Name" : "Chris", "Id2" : "101" } ], "count" : 2 }