"কাজ" শব্দটি সম্বলিত লগগুলিকে ফিল্টার করতে, $filter সহ aggregate() ব্যবহার করুন৷ আসুন প্রথমে নথি-
সহ একটি সংগ্রহ তৈরি করি> db.demo383.insertOne(... {... "ServerName":"Jboss",... "ServerLogs":[... {... "status":"working"... },... {... "status":"Stop"... },... {... "status":"কাজ হয়েছে"... }... ]... }... );{ "স্বীকৃত" :সত্য, "insertedId" :ObjectId("5e5b635422064be7ab44e7f1")}
Find() পদ্ধতি -
এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন> db.demo383.find().pretty();
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" :ObjectId("5e5b635422064be7ab44e7f1"), "ServerName" :"Jboss", "ServerLogs" :[ { "status" :"working" }, { "status" :"Stop" }, { " অবস্থা" :"কাজ করেছে" } ]}
ফিল্টার করার জন্য ক্যোয়ারী −
> db.demo383.aggregate([... { "$addFields":{... "ServerLogs":{... "$filter":{... "input":"$ServerLogs", ... "cond":{... "$ne":[... { "$indexOfBytes":[... { "$toUpper":"$$this.status" },... { " $toUpper":"কাজ" }... ]},... -1... ]... }... }... }... }}... ])
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" :ObjectId("5e5b635422064be7ab44e7f1"), "ServerName" :"Jboss", "ServerLogs" :[ { "status" :"working" }, { "status" :"worked" } ] }প্রে>