ফিল্টারিং শর্ত সেট করতে, MongoDB aggregate() এ $filter এবং $cond ব্যবহার করুন। $ফিল্টার নির্দিষ্ট শর্তের উপর ভিত্তি করে ফিরে আসার জন্য একটি অ্যারের একটি উপসেট নির্বাচন করে। আসুন নথি-
সহ একটি সংগ্রহ তৈরি করি> db.demo725.insertOne(... {...... "বিস্তারিত":{...... "userMessages":[... {... "Messages":[.. . { "বার্তা":"হ্যালো" },... { "বার্তা":"কেমন" },... { "বার্তা":"আরে" }... ]...... }, . {... "বার্তা":[... { "বার্তা":"ভাল" },... { "বার্তা":"বিদায়" }...... ]... },... {... "বার্তা":[... { "বার্তা":"হ্যালো" },... { "বার্তা":"বিদায়" }...... ]...... }.. ।Find() পদ্ধতি -
এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন> db.demo725.find();এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" :ObjectId("5eab16cd43417811278f5893"), "বিস্তারিত" :{ "userMessages" :[ { "বার্তা" :[ { "বার্তা" :"হ্যালো" }, { "বার্তা" :"কীভাবে" } , { "বার্তা" :"are" } ] }, { "বার্তা" :[ { "বার্তা" :"ভালো" }, { "বার্তা" :"বিদায়" } ] }, { "বার্তা" :[ { "বার্তা " :"হ্যালো" }, { "মেসেজ" :"বাই" } ] } ] } }নেস্টেড অ্যারে −
-এর জন্য ফিল্টারিং শর্ত সেট করার জন্য নিম্নলিখিত ক্যোয়ারী রয়েছে> db.demo725.aggregate([... {... $addFields:{... "details.userMessages":{... $filter:{... ইনপুট:"$details.userMessages" ,... যেমন:"out",... cond:{... $anyElementTrue:{... $map:{... ইনপুট:"$$out.Messages",... in:{ $ gte:[ { $indexOfBytes:[ "$$this.Message", "Hello" ] }, 0 ] }... }... }... }... }... }... } .. }... ]).pretty()এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" :ObjectId("5eab16cd43417811278f5893"), "বিস্তারিত" :{ "userMessages" :[ { "Messages" :[ { "Message" :"Hello" }, { "Message" :"How" } , { "বার্তা" :"are" } ] }, { "বার্তা" :[ { "বার্তা" :"হ্যালো" }, { "মেসেজ" :"বাই" } ] } } }}