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

MongoDB $group-এ কম্পিউটেড এক্সপ্রেশন পুশ করা

MongoDB অগ্রেশন পাইপলাইনে $group-এ শর্তসাপেক্ষ মান পুশ করা

$group স্টেজে $push এবং $cond একসাথে ব্যবহার করে কম্পিউটেড (গণনা করা) মান অ্যারেতে যোগ করা যায়।

উদাহরণ: স্ট্যাটাস ফিল্ড সহ ডকুমেন্ট তৈরি

> db.demo24.insertOne({"Id":100,"Status":true});
{ "acknowledged" : true, "insertedId" : ObjectId("5e14c58722d07d3b95082e72") }
> db.demo24.insertOne({"Id":100,"Status":true});
{ "acknowledged" : true, "insertedId" : ObjectId("5e14c58a22d07d3b95082e73") }
> db.demo24.insertOne({"Id":100,"Status":false});
{ "acknowledged" : true, "insertedId" : ObjectId("5e14c58f22d07d3b95082e74") }
> db.demo24.insertOne({"Id":100,"Status":true});
{ "acknowledged" : true, "insertedId" : ObjectId("5e14c59122d07d3b95082e75") }
> db.demo24.insertOne({"Id":100,"Status":false});
{ "acknowledged" : true, "insertedId" : ObjectId("5e14c59222d07d3b95082e76") }

সমস্ত ডকুমেন্ট

> db.demo24.find();
{ "_id" : ObjectId("5e14c58722d07d3b95082e72"), "Id" : 100, "Status" : true }
{ "_id" : ObjectId("5e14c58a22d07d3b95082e73"), "Id" : 100, "Status" : true }
{ "_id" : ObjectId("5e14c58f22d07d3b95082e74"), "Id" : 100, "Status" : false }
{ "_id" : ObjectId("5e14c59122d07d3b95082e75"), "Id" : 100, "Status" : true }
{ "_id" : ObjectId("5e14c59222d07d3b95082e76"), "Id" : 100, "Status" : false }

অগ্রেশন কুয়েরি: স্ট্যাটস অনুযায়ী "Active"/"InActive" পুশ করা

> db.demo24.aggregate({$group: {_id:'$Id', AllValues: {$push: {$cond: [{$eq: ['$Status', true]},'Active','InActive']}}}})

ফলাফল

{ "_id" : 100, "AllValues" : [ "Active", "Active", "InActive", "Active", "InActive" ] }

ব্যাখ্যা

  • $group: Id ফিল্ড দ্বারা গ্রুপ করা।
  • $push: প্রতিটি ডকুমেন্টের জন্য একটি মান অ্যারেতে যোগ করা।
  • $cond: শর্তসাপেক্ষ অপারেটর (if-else)।
  • $eq: ['$Status', true]: স্ট্যাটস true কিনা চেক করা।
  • true হলে "Active", false হলে "InActive" রিটার্ন করা।

বিকল্প: MongoDB ৪.০+ ভার্সনে $switch ব্যবহার করে আরও জটিল শর্ত হ্যান্ডেল করা যায়।

  1. MongoDB-এ ট্যাগ আপডেট করার পদ্ধতি

  2. MongoDB-তে সাবডকুমেন্টের অ্যারে কুয়েরি

  3. MongoDB-এ _id দিয়ে গ্রুপ করে ডকুমেন্ট কাউন্ট করা

  4. MongoDB-তে এমবেডেড ডকুমেন্ট অ্যারে কোয়েরি করে নতুন এলিমেন্ট যোগ করা ($push + $nin)