MongoDB-এ স্ট্রিং ফরম্যাটে স্টোর করা ডেটা ISODate-এ কনভার্ট করতে forEach() লুপ এবং ISODate() কন্সট্রাক্টর ব্যবহার করা হয়।
ডেমো কলেকশন তৈরি (স্ট্রিং ডেটা)
সকল ডকুমেন্ট দেখা (কনভার্সনের আগে)
{ "_id" : ObjectId("5ca2071d66324ffac2a7dc60"), "CustomerName" : "Carol", "ShippingDate" : "2019-01-21" } { "_id" : ObjectId("5ca2073566324ffac2a7dc61"), "CustomerName" : "Bob", "ShippingDate" : "2019-02-24" } { "_id" : ObjectId("5ca2074266324ffac2a7dc62"), "CustomerName" : "Chris", "ShippingDate" : "2019-04-01" }forEach লুপ দিয়ে কনভার্ট ও সেভ করা
> db.stringToDateDataTypeDemo.find().pretty();আউটপুট (ISODate টাইপ)
আধুনিক পদ্ধতি: updateMany + $dateFromString (MongoDB 3.6+)
এগْرিগেশন পাইপলাইনে কনভার্সন (理查 ওয়াইটアウট)
সাপোর্টেড ডেটা ফরম্যাট
- ISO 8601: "2019-01-21", "2019-01-21T10:30:00Z"
- US: "01/21/2019" (ফরম্যাট স্পেসিফাই করতে হয়)
- কাস্টম:
{ $dateFromString: { dateString: "$field", format: "%d-%m-%Y" } }
সতর্কতা
save()পুরো ডকুমেন্ট রিপ্লেস করে - কনকারেন্ট আপডেটে ডেটা লস হতে পারে- বড় কলেকশনের জন্য
updateManyপাইপলাইন ব্যবহার করুন - অবৈধ ডেটা স্ট্রিং এর জন্য error handling যোগ করুন