কম্পিউটার

MongoDB ফিল্টার একাধিক সাব-ডকুমেন্ট?


MongoDB-তে একাধিক সাব-ডকুমেন্ট ফিল্টার করতে, aggregate() ব্যবহার করুন। আসুন নথি-

সহ একটি সংগ্রহ তৈরি করি
> db.demo200.insertOne(... {... "Id":"101",... "details1":[... {... "isActive":true,... " SubjectName":"MySQL"... },{... "isActive":false,... "SubjectName":"Java"... }... ],... "details2":[.. . {... "isActive":false,... "নাম":"ডেভিড"... },{... "isActive":সত্য,... "নাম":"মাইক"... } ... ]... }...);{ "স্বীকৃত" :সত্য, "insertedId" :ObjectId("5e3c374f03d395bdc21346e4")}

Find() পদ্ধতি -

এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন
> db.demo200.find();

এটি নিম্নলিখিত আউটপুট −

তৈরি করবে
{ "_id" :ObjectId("5e3c374f03d395bdc21346e4"), "Id" :"101", "details1" :[ { "isActive" :true, "SubjectName" :"MySQL" }, { "isActive" :false , "SubjectName" :"Java" } ], "details2" :[ { "isActive" :false, "Name" :"David" }, { "isActive" :true, "Name" :"Mike" } ]} 

একাধিক সাব-ডকুমেন্ট −

ফিল্টার করার জন্য নিচের প্রশ্নটি রয়েছে
> var out=[... {... "$match":{... "Id":"101",... "details1.isActive":true,... "details2.isActive ":সত্য... }... },... { "$unwind":"$details1" },... { "$unwind":"$details2" },... {... " $match":{... "details1.isActive":true,... "details2.isActive":true... }... },... {... "$group":{.. . "_id":{... "_id":"$_id",... "Id":"$Id"... },... "details2":{ "$addToSet" :"$details2 " },... "details1":{ "$addToSet" :"$details1" }... }... },... {... "$project":{... "_id":0,... "Id":"$_id.Id",... "details2":1,... "details1":1... }... }...]>> db.demo200 .aggregate(out)

এটি নিম্নলিখিত আউটপুট −

তৈরি করবে
{ "details2" :[ { "isActive" :true, "Name" :"Mike" } ], "details1" :[ { "isActive" :true, "SubjectName" :"MySQL" } ], "Id " :"101" }

  1. একই কীতে MongoDB একাধিক বা শর্ত?

  2. MongoDB ব্যবহার করে একাধিক পারমাণবিক আপডেট?

  3. MongoDB-তে সাব ডকুমেন্ট দ্বারা সাব ডকুমেন্ট ফিল্টার করবেন?

  4. MongoDB সমষ্টি গ্রুপ একাধিক ফলাফল?