$literal অপারেটর ব্যবহার করে স্ট্রিং লিটারেল সেট করা
MongoDB অগরিগেশন পাইপলাইনে $literal ব্যবহার করে একটি ফিল্ডের ভ্যালু নির্দিষ্ট স্ট্রিং দিয়ে রিপ্লেস করা যায়।
নমুনা ডেটা ইনসার্ট
>db.replacevaluedemo.insertOne({"StudentName":"Chris","StudentFavouriteSubject":{"TeacherName":"Bob","SubjectCode":"MySQL111"}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e0390a3f5e889d7a51994fd") }
>db.replacevaluedemo.insertOne({"StudentName":"Mike","StudentFavouriteSubject":{"TeacherName":"David","SubjectCode":"3221Java"}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e0390b8f5e889d7a51994fe") }
সব ডকুমেন্ট দেখানো
> db.replacevaluedemo.find().pretty();
$literal দিয়ে TeacherName রিপ্লেস করা
> db.replacevaluedemo.aggregate([
{
$project: {
"_id": 1,
"StudentFavouriteSubject": {
"SubjectCode": 1,
"TeacherName": { $literal: "UNKNOWN NAME" }
}
}
}
]).pretty();
আউটপুট:
{
"_id" : ObjectId("5e0390a3f5e889d7a51994fd"),
"StudentFavouriteSubject" : {
"SubjectCode" : "MySQL111",
"TeacherName" : "UNKNOWN NAME"
}
}
{
"_id" : ObjectId("5e0390b8f5e889d7a51994fe"),
"StudentFavouriteSubject" : {
"SubjectCode" : "3221Java",
"TeacherName" : "UNKNOWN NAME"
}
}
ব্যাখ্যা: $literal ব্যবহার করে আমরা "UNKNOWN NAME" স্ট্রিংটি শाब্দিকভাবে প্রজেক্ট করতে পারি, ফিল্ডের অরিজিনাল ভ্যালু ওভাররাইড হয়।