সমস্ত নথিতে অ্যারেতে সর্বশেষ এন্ট্রি খুঁজতে, aggregate() ব্যবহার করুন। আসুন নথি-
সহ একটি সংগ্রহ তৈরি করি> db.demo179.insertOne( ...{ ... "Name":"Chris", ... "Details": [ ... { ... "Id":101, ... "Subject":"MongoDB" ... }, ... { ... "Id":102, ... "Subject":"MySQL" ... } ... ] ...} ...); { "acknowledged" : true, "insertedId" : ObjectId("5e3980299e4f06af551997f9") } > db.demo179.insertOne( ...{ ... "Name":"David", ... "Details": [ ... { ... "Id":103, ... "Subject":"Java" ... }, ... { ... "Id":104, ... "Subject":"C" ... } ... ] ...} ...); { "acknowledged" : true, "insertedId" : ObjectId("5e39802a9e4f06af551997fa") }
Find() পদ্ধতি -
এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন> db.demo179.find().pretty();
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : ObjectId("5e3980299e4f06af551997f9"), "Name" : "Chris", "Details" : [ { "Id" : 101, "Subject" : "MongoDB" }, { "Id" : 102, "Subject" : "MySQL" } ] } { "_id" : ObjectId("5e39802a9e4f06af551997fa"), "Name" : "David", "Details" : [ { "Id" : 103, "Subject" : "Java" }, { "Id" : 104, "Subject" : "C" } ] }
সমস্ত নথিতে অ্যারেতে সর্বশেষ এন্ট্রিগুলি সন্ধান করার জন্য নিম্নলিখিত ক্যোয়ারী রয়েছে −
৷> db.demo179.aggregate([ ... { "$unwind": "$Details" }, ... { "$sort": { "Details.Id": -1 } }, ... { "$limit": 2 }, ... { ... "$group": { ... "_id": "$Details.Id", ... "Name" : { "$first": "$Name" }, ... "Details": { "$push": "$Details" } ... } ... }, ... { ... "$project": { ... "_id": 0, "Name": 1, "Details": 1 ... } ... } ...])
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "Name" : "David", "Details" : [ { "Id" : 103, "Subject" : "Java" } ] } { "Name" : "David", "Details" : [ { "Id" : 104, "Subject" : "C" } ] }