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

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


স্ট্রিং আইডি ObjectId-তে কাস্ট করা

MongoDB-এ স্ট্রিং ফরম্যাটে থাকা ObjectId কে আসল ObjectId টাইপে রূপান্তর করতে অ্যাগ্রিগেশন পাইপলাইনে $toObjectId (বা পুরনো ভার্সনে কাস্টম লজিক) ব্যবহার করা হয়।

নমুনা ডেটা তৈরি

> db.demo460.insertOne({ "_id": "5ab9cbfa31c2ab715d42129e" })

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

> db.demo460.find()

আউটপুট:

{ "_id": "5ab9cbfa31c2ab715d42129e" }

ObjectId-তে কনভার্ট করার কোয়েরি (আধুনিক সিনট্যাক্স)

> db.demo460.aggregate([
    { $addFields: { value: { $toObjectId: "$_id" } } }
])

ফলাফল:

{ "_id": "5ab9cbfa31c2ab715d42129e", "value": ObjectId("5ab9cbfa31c2ab715d42129e") }

ব্যাখ্যা

  • $toObjectId (MongoDB 4.0+): স্ট্রিংকে সরাসরি ObjectId-তে কনভার্ট করে
  • পুরনো ভার্সনে $convert বা কাস্টম লজিক দরকার হতো
  • এটি খুবই χρήপ করি যখন এক্সটার্নাল সোর্স থেকে স্ট্রিং আইডি আসে এবং জয়েন/লুকআপ করতে হয়
  • এরর হ্যান্ডলিং için $convert এর onError/onNull অপশন ব্যবহার করুন

মূল আর্টিকেলে লেখা idConvert একটি প্লেসহোল্ডার, বাস্তবে উপরের সিনট্যাক্স ব্যবহার করুন।

  1. MongoDB-এ নেস্টেড অ্যারেতে $addToSet ব্যবহার করে মান যোগ করা

  2. MongoDB-এ রেঞ্জ কোয়ারি এবং সর্ট লিমিট ব্যবহার করা

  3. MongoDB-এ নির্দিষ্ট প্রাইস থেকে কম প্রাইস والے রেকর্ড খুঁজে বের করা

  4. MongoDB-এ for লুপ দিয়ে ভ্যালু পুশ করা (save() ব্যবহার করে)