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

MongoDB-এ এগ্রিগেশন ব্যবহার করে ভ্যালু রিপ্লেস করার পদ্ধতি

MongoDB-এ এগ্রিগেশন পাইপলাইনে $literal অপারেটর ব্যবহার করে নির্দিষ্ট ফিল্ডের মান কনস্ট্যান্ট ভ্যালু দিয়ে রিপ্লেস করা যায় (অসল ডকুমেন্ট পরিবর্তন হয় না, শুধু আউটপুট পরিবর্তন হয়)।

উদাহরণ

নেস্টেড অবজেক্ট সহ ডকুমেন্ট তৈরি করুন:

> db.replaceValueDemo.insertOne({
    _id: 100,
    "EmployeeName": "Chris",
    "EmployeeOtherDetails": { "EmployeeDesignation": "HR", "EmployeeAge": 27 }
});
{ "acknowledged" : true, "insertedId" : 100 }

> db.replaceValueDemo.insertOne({
    _id: 101,
    "EmployeeName": "David",
    "EmployeeOtherDetails": { "EmployeeDesignation": "Tester", "EmployeeAge": 26 }
});
{ "acknowledged" : true, "insertedId" : 101 }

সকল ডকুমেন্ট দেখুন:

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

আউটপুট:

{ "_id" : 100, "EmployeeName" : "Chris", "EmployeeOtherDetails" : { "EmployeeDesignation" : "HR", "EmployeeAge" : 27 } }
{ "_id" : 101, "EmployeeName" : "David", "EmployeeOtherDetails" : { "EmployeeDesignation" : "Tester", "EmployeeAge" : 26 } }

EmployeeDesignation ফিল্ডটি "Developer" দিয়ে রিপ্লেস করা (আউটপুটে)

> db.replaceValueDemo.aggregate([
    {
        "$project": {
            "_id": 1,
            "EmployeeOtherDetails": {
                "EmployeeAge": 1,
                "EmployeeDesignation": { $literal: "Developer" }
            }
        }
    }
]);

আউটপুট:

{ "_id" : 100, "EmployeeOtherDetails" : { "EmployeeAge" : 27, "EmployeeDesignation" : "Developer" } }
{ "_id" : 101, "EmployeeOtherDetails" : { "EmployeeAge" : 26, "EmployeeDesignation" : "Developer" } }

ব্যাখ্যা:

  • $literal: "Developer" — কনস্ট্যান্ট মান সেট করে, এক্সপ্রেশন ইভ্যালুয়েট করে না।
  • EmployeeAge: 1 — মূল ফিল্ড 그대로 রাখা হয়েছে।
  • এটি শুধু আউটপুট পরিবর্তন করে, ডাটাবেসে ডকুমেন্ট আপডেট হয় না।

ডাটাবেসে আপডেট করতে চাইলে: updateMany({}, { $set: { "EmployeeOtherDetails.EmployeeDesignation": "Developer" } }) ব্যবহার করুন।

ব্যবহারিক পরিস্থিতি: রিপোর্টিং, ডেটা ট্রান্সফরমেশন, সেনসিটিভ ডেটা মাস্কিং (যেমন পাসওর্ড হাইড করা) এর সময়।

  1. MongoDB এগ리게েশন ফ্রেমওয়ার্কে গ্রুপ কুয়েরি উদাহরণ

  2. MongoDB Aggregation-এ নির্দিষ্ট ফিল্ড মান মэтচ করা ($match স্টেজ)

  3. MongoDB-এ অ্যারেতে নির্দিষ্ট মান রিপ্লেস করা (Positional $ ও $set)

  4. MongoDB Aggregation-এ নির্দিষ্ট ফিল্ড মান অনুযায়ী ডকুমেন্ট ফিল্টার করা