কম্পিউটার টিউটোরিয়াল

MongoDB-এ স্ট্রিংকে ObjectId-এ কনভার্ট করা

MongoDB-এ স্ট্রিং ফরম্যাটের আইডিকে ObjectId-এ কনভার্ট করতে অ্যাগ্রিগেশন পাইপলাইনে $toObjectId অপারেটর ব্যবহার করা হয় (MongoDB 4.0+)。

কলেকশন এবং ডকুমেন্ট তৈরি

> db.demo95.insertOne({"Id":"5ab9cbe531c2ab715d42129a"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e2d5ef5b8903cdd865577ac") }

সব ডকুমেন্ট দেখানো

> db.demo95.find();

আউটপুট:

{ "_id" : ObjectId("5e2d5ef5b8903cdd865577ac"), "Id" : "5ab9cbe531c2ab715d42129a" }

স্ট্রিংকে ObjectId-এ কনভার্ট করার কোয়ারী

> db.demo95.aggregate([ { "$addFields": { "d" : { "$toObjectId": "$Id" } }} ])

ফলাফল

{ "_id" : ObjectId("5e2d5ef5b8903cdd865577ac"), "Id" : "5ab9cbe531c2ab715d42129a", "d" : ObjectId("5ab9cbe531c2ab715d42129a") }

ব্যাখ্যা:

  • $addFields - নতুন ফিল্ড যোগ করতে বা এক্সিস্টিং ফিল্ড আপডেট করতে
  • $toObjectId - স্ট্রিংকে ObjectId-এ কনভার্ট করে (স্ট্রিংটি বৈধ ২৪-ক্যারেক্টার হেক্সाडেসিমেল হতে হবে)
  • নতুন ফিল্ড d এ ObjectId টাইপে মান আসে

ব্যবহার ক্ষেত্র:

  • এক্সটার্নাল সোর্স থেকে স্ট্রিং আকারে আইডি পাওয়া যায়, কিন্তু লুকআপ বা জয়েনের জন্য ObjectId দরকার
  • $lookup স্টেজে ফরেন ফিল্ড ObjectId হলে কিন্তু লোকাল ফিল্ড স্ট্রিং হলে

সংশ্লিষ্ট অপারেটরসমূহ: $toString (ObjectId থেকে স্ট্রিং), $convert (জেনেরিক টাইপ কনভার্সন), $toDate, $toLong ইত্যাদি।

  1. জাভাস্ক্রিপ্ট দিয়ে স্ট্রিং বুলিয়ানে রূপান্তর করা

  2. MongoDB-তে String থেকে Date কনভারশন সমস্যা সমাধান

  3. MongoDB-এ কাস্টম স্ট্রিং দিয়ে ObjectId তৈরি করা (_id ফিল্ড ব্যবহার)

  4. C#-এ স্ট্রিং থেকে bool কনভার্ট করা