forEach() এবং $set ব্যবহার করে স্ট্রিং ফিল্ডকে অ্যারে বানানো
MongoDB-এ একটি স্ট্রিং বা সিংগল ভ্যালু ফিল্ডকে অ্যারে-তে রূপান্তর করার জন্য forEach() লুপের ভেতরে update() ও $set অপারেটর ব্যবহার করা হয়।
১. কালেকশন ও ডকুমেন্ট তৈরি
> db.demo18.insertOne({"StudentName":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e1387fc55d0fc6657d21f0e") }
২. আপডেটের আগে ডকুমেন্ট দেখানো
> db.demo18.find();
আউটপুট:
{ "_id" : ObjectId("5e1387fc55d0fc6657d21f0e"), "StudentName" : "John" }
৩. ফিল্ডকে অ্যারে-তে রূপান্তর করার কোয়েরি
> db.demo18.find().forEach(function(myDocument) {
db.demo18.update(
{ _id: myDocument._id },
{ "$set": { "StudentName": [myDocument.StudentName] } }
);
})
ব্যাখ্যা:
forEach()- প্রতিটি ডকুমেন্টের জন্য লুপ চালায়।$set- নতুন মান সেট করে।[myDocument.StudentName]- স্ট্রিং ভ্যালুটিকে অ্যারে-তে রূপান্তর করে (ব্র্যাকেট ব্যবহার করে)।
৪. আপডেটের পর ডকুমেন্ট যাচাই
> db.demo18.find();
আউটপুট:
{ "_id" : ObjectId("5e1387fc55d0fc6657d21f0e"), "StudentName" : [ "John" ] }
এখন StudentName ফিল্ডটি একটি স্ট্রিং না হয়ে একটি অ্যারে হিসেবে সংরক্ষিত হয়েছে: ["John"]।