অ্যারের দৈর্ঘ্য অনুসারে সাজানোর জন্য, aggregate() ব্যবহার করুন। তার আগে, $sum ব্যবহার করে একটি অ্যারেতে রেকর্ডের গণনা পান। আসুন ডকুমেন্ট সহ একটি সংগ্রহ তৈরি করি
> db.demo33.insertOne({"ListOfStudent":["Chris","Bob"]}); { "acknowledged" : true, "insertedId" : ObjectId("5e17556ccfb11e5c34d898ca") } > db.demo33.insertOne({"ListOfStudent":["David","Adam","Mike"]}); { "acknowledged" : true, "insertedId" : ObjectId("5e17557acfb11e5c34d898cb") } > db.demo33.insertOne({"ListOfStudent":["Carol","Sam","John","Robert"]}); { "acknowledged" : true, "insertedId" : ObjectId("5e1755a3cfb11e5c34d898cc") }
Find() পদ্ধতি -
এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন> db.demo33.find();
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : ObjectId("5e17556ccfb11e5c34d898ca"), "ListOfStudent" : [ "Chris", "Bob" ] } { "_id" : ObjectId("5e17557acfb11e5c34d898cb"), "ListOfStudent" : [ "David", "Adam", "Mike" ] } { "_id" : ObjectId("5e1755a3cfb11e5c34d898cc"), "ListOfStudent" : [ "Carol", "Sam", "John", "Robert" ] }
অ্যারের দৈর্ঘ্য অনুসারে বাছাই করার জন্য নিম্নোক্ত ক্যোয়ারী −
> db.demo33.aggregate({$unwind:"$ListOfStudent"}, { $group : {_id:'$_id', ct:{$sum:1}}}, { $sort :{ ct: -1}} );
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : ObjectId("5e1755a3cfb11e5c34d898cc"), "ct" : 4 } { "_id" : ObjectId("5e17557acfb11e5c34d898cb"), "ct" : 3 } { "_id" : ObjectId("5e17556ccfb11e5c34d898ca"), "ct" : 2 }