কম্পিউটার টিউটোরিয়াল

MongoDB Aggregation-এ $redact এবং $cond ব্যবহার করে ডকুমেন্ট ফিল্টার

$redact এবং $cond ব্যবহার করে ডকুমেন্ট কন্টেন্ট শর্তসাপেক্ষে রাখা/বাদ দেওয়া

MongoDB Aggregation-এ $redact স্টেজ ডকুমেন্টের কন্টেন্টকে ডকুমেন্টের নিজস্ব ইনফরমেশন অনুযায়ী ফিল্টার করে। $cond দিয়ে শর্ত দিয়ে $$KEEP (রাখো) বা $$PRUNE (বাদ দাও) ডিসাইড করা হয়।

নমুনা সংগ্রহ তৈরি

> db.demo546.insertOne({"Value1":10,"Value2":20});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8e263f9e5f92834d7f05d7") }
> db.demo546.insertOne({"Value1":40,"Value2":30,Value3:50});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8e26549e5f92834d7f05d8") }
> db.demo546.insertOne({"Value1":100,"Value2":200,Value3:null});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8e26619e5f92834d7f05d9") }
> db.demo546.insertOne({"Value1":400,"Value2":1000,Value3:null});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8e26e09e5f92834d7f05da") }
> db.demo546.insertOne({"Value1":400,"Value2":200,Value3:null});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8e26f59e5f92834d7f05db") }
> db.demo546.insertOne({"Value1":400,"Value2":1000,Value3:60});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8e27159e5f92834d7f05dc") }

সব ডকুমেন্ট দেখানো

> db.demo546.find();

আউটপুট:


$redact দিয়ে শর্ত: Value1 < Value2 AND Value3 exists (not null)


ফলাফল (শুধু শেষ ডকুমেন্ট মেলে শর্ত):


ব্যাখ্যা: $and-এ দুটি শর্ত: ১) Value1 < Value2 ($lt), ২) Value3 null নয় ($ifNull: ["$Value3", false] মানে Value3 থাকলে true, null হলে false)। শুধু শেষ ডকুমেন্ট (Value1=400, Value2=1000, Value3=60) দুটি শর্ত পূরণ করে। $$KEEP ডকুমেন্ট রাখে, $$PRUNE বাদ দেয়।

  1. MongoDB-এ findOne()-এ রেগেক্স ব্যবহার করা

  2. MongoDB-এ একাধিক আটোমিক আপডেট (update() with $set, multi: true)

  3. MongoDB updateOne() এবং insertOne() ব্যবহার

  4. MongoDB এগ্রিগেশন: একাধিক ফিল্ড গ্রুপ বাই করে ফলাফল বের করা ($facet)