ফিল্ডের টাইপ কনভারশন: স্ট্রিং থেকে ইন্টিজার
MongoDB-এ সরাসরি ফিল্ডের ডেটা টাইপ পরিবর্তন করার কোনো বিল্ট-ইন কমান্ড নেই। এর জন্য আপডেট ওয় qilish অথবা স্ক্রিপ্ট ব্যবহার করতে হয়। নিচে স্ট্রিং থেকে নাম্বারে কনভার্ট করার উদাহরণ দেওয়া হলো।
নমুনা ডকুমেন্ট তৈরি
> db.changeDataType.insertOne({"StudentName":"Larry","StudentAge":23,"StudentZipCode":"10001","isProgrammer":false});
{ "acknowledged" : true, "insertedId" : ObjectId("5c6ed4976fd07954a4890694") }
ডকুমেন্ট দেখি:
> db.changeDataType.find().pretty();
{
"_id" : ObjectId("5c6ed4976fd07954a4890694"),
"StudentName" : "Larry",
"StudentAge" : 23,
"StudentZipCode" : "10001",
"isProgrammer" : false
}
ফিল্ডের টাইপ চেক করা
> checkType = db.changeDataType.findOne(); > typeof checkType._id; // object > typeof checkType.StudentName; // string > typeof checkType.StudentAge; // number > typeof checkType.StudentZipCode; // string > typeof checkType.isProgrammer; // boolean
"StudentZipCode" স্ট্রিং থেকে নাম্বারে কনভার্ট
> db.changeDataType.find().forEach(function(ch) {
db.changeDataType.update(
{ "_id": ch._id },
{ $set: { "StudentZipCode": parseInt(ch.StudentZipCode) } }
);
});
পরিবর্তন যাচাই
> againCheckType = db.changeDataType.findOne(); > typeof againCheckType.StudentZipCode; // number
ফলাফল: StudentZipCode ফিল্ডটি এখন স্ট্রিং না হয়ে number টাইপের।
নোট: বড় কালেকশনের জন্য updateMany সাথে [$toInt](https://www.mongodb.com/docs/manual/reference/operator/aggregation/toInt/) অপারেটর (MongoDB 4.0+) আরও দক্ষ।