MongoDB শেলে forEach() লুপ এবং JavaScript-এর toLowerCase() মেথড ব্যবহার করে স্ট্রিং ফিল্ডকে লোয়ারকেসে কনভার্ট করে আপডেট করা যায়।
নমুনা ডেটা তৈরি করা
lowerCaseDemo কালেকশনে তিনটি ডকুমেন্ট ইনসার্ট করি যাতে StudentName মিশ্র কেসে থাকে।
> db.lowerCaseDemo.insertOne({"StudentName":"JOHN SMith"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd9a86fb50a6c6dd317ad9f") }
> db.lowerCaseDemo.insertOne({"StudentName":"CAROL TAYLor"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd9a88fb50a6c6dd317ada0") }
> db.lowerCaseDemo.insertOne({"StudentName":"DAVID Miller"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd9a89fb50a6c6dd317ada1") }
সকল ডকুমেন্ট দেখানো
> db.lowerCaseDemo.find().pretty();
আউটপুট:
{ "_id" : ObjectId("5cd9a86fb50a6c6dd317ad9f"), "StudentName" : "JOHN SMith" }
{ "_id" : ObjectId("5cd9a88fb50a6c6dd317ada0"), "StudentName" : "CAROL TAYLor" }
{ "_id" : ObjectId("5cd9a89fb50a6c6dd317ada1"), "StudentName" : "DAVID Miller" }
forEach এবং toLowerCase() দিয়ে আপডেট করা
StudentName` এক্সিস্ট করে এমন সব ডকুমেন্টে লুপ চালিয়ে লোয়ারকেসে কনভার্ট করি:
> db.lowerCaseDemo.find({ StudentName: { $exists: true } }).forEach(
function(v) {
v.StudentName = v.StudentName.toLowerCase();
db.lowerCaseDemo.save(v);
}
);
ফলাফল দেখানো
> db.lowerCaseDemo.find().pretty();
আউটপুট:
{ "_id" : ObjectId("5cd9a86fb50a6c6dd317ad9f"), "StudentName" : "john smith" }
{ "_id" : ObjectId("5cd9a88fb50a6c6dd317ada0"), "StudentName" : "carol taylor" }
{ "_id" : ObjectId("5cd9a89fb50a6c6dd317ada1"), "StudentName" : "david miller" }
আধুনিক বিকল্প (MongoDB 4.2+): updateMany সহ $set এবং $toLower অপারেটর ব্যবহার করলে এক কোয়েরিতে হয়ে যায়:
db.lowerCaseDemo.updateMany({}, [{ $set: { StudentName: { $toLower: "$StudentName" } } }])।