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

MongoDB-এ নির্দিষ্ট ফিল্ডের যোগফল বের করা

MongoDB-এ নির্দিষ্ট শর্ত অনুযায়ী ফিল্ডের যোগফল (sum) বের করতে অ্যাগ্রিগেশন পাইপলাইনে $match (ফিল্টার) এবং $group (গ্রুপিং এবং সাম) ব্যবহার করা হয়।

নমুনা কালেকশন তৈরি

> db.getSumOfFieldsDemo.insertOne({ "Customer_Id": 101, "Price": 50, "Status": "Active" });
{ "acknowledged": true, "insertedId": ObjectId("5e06cec29e4dae213890ac55") }

> db.getSumOfFieldsDemo.insertOne({ "Customer_Id": 102, "Price": 200, "Status": "Inactive" });
{ "acknowledged": true, "insertedId": ObjectId("5e06ced19e4dae213890ac56") }

> db.getSumOfFieldsDemo.insertOne({ "Customer_Id": 101, "Price": 3000, "Status": "Active" });
{ "acknowledged": true, "insertedId": ObjectId("5e06cedd9e4dae213890ac57") }

> db.getSumOfFieldsDemo.insertOne({ "Customer_Id": 103, "Price": 400, "Status": "Active" });
{ "acknowledged": true, "insertedId": ObjectId("5e06cee79e4dae213890ac58") }

সমস্ত ডকুমেন্ট প্রদর্শন

> db.getSumOfFieldsDemo.find().pretty();

আউটপুট:

{ "_id": ObjectId("5e06cec29e4dae213890ac55"), "Customer_Id": 101, "Price": 50, "Status": "Active" }
{ "_id": ObjectId("5e06ced19e4dae213890ac56"), "Customer_Id": 102, "Price": 200, "Status": "Inactive" }
{ "_id": ObjectId("5e06cedd9e4dae213890ac57"), "Customer_Id": 101, "Price": 3000, "Status": "Active" }
{ "_id": ObjectId("5e06cee79e4dae213890ac58"), "Customer_Id": 103, "Price": 400, "Status": "Active" }

Active স্ট্যাটাসের প্রাইস সাম করা (গ্রুপ বাই Customer_Id)

> db.getSumOfFieldsDemo.aggregate([
  { $match: { Status: "Active" } },
  { $group: { _id: "$Customer_Id", TotalSum: { $sum: "$Price" } } }
]);

ফলাফল

{ "_id": 103, "TotalSum": 400 }
{ "_id": 101, "TotalSum": 3050 }

ব্যাখ্যা:

  • $match: { Status: "Active" } - শুধু Active স্ট্যাটাস वाले ডকুমেন্ট ফিল্টার করে (Customer_Id: 101, 101, 103)।
  • $group - Customer_Id দিয়ে গ্রুপ করে Price ফিল্ডের যোগফল বের করে।
  • Customer_Id 101: 50 + 3000 = 3050
  • Customer_Id 103: 400
  • Customer_Id 102 (Inactive) বাদ পড়েছে।

সব Active রেকর্ডের মোট সাম (গ্রুপ ছাড়া)

db.getSumOfFieldsDemo.aggregate([
  { $match: { Status: "Active" } },
  { $group: { _id: null, GrandTotal: { $sum: "$Price" } } }
]);

ফলাফল: { "_id": null, "GrandTotal": 3450 }

  1. MongoDB-তে নির্দিষ্ট সংখ্যক আইটেম বের করার কোয়ারি

  2. MongoDB-তে নির্দিষ্ট ডকুমেন্ট রিমুভ করার কোয়ারি

  3. MongoDB কোয়ারিতে নির্দিষ্ট কলাম সিলেক্ট করা

  4. MongoDB-এ অ্যারে কোয়েরি করে নির্দিষ্ট ভ্যালু ফেচ করা