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

MongoDB-এ ফিল্ড থেকে নির্দিষ্ট সংখ্যক ক্যারেক্টার রিটার্ন করা

MongoDB-এ একটি স্ট্রিং ফিল্ড থেকে নির্দিষ্ট সংখ্যক ক্যারেক্টার এক্সট্রাক্ট করতে অ্যাগ্রিগেশন পাইপলাইনে $project স্টেজের সাথে $substr (বা $substrBytes, $substrCP) অপারেটর ব্যবহার করা হয়।

সিনট্যাক্স

{ $substr: [ "", ,  ] }
  • start_index - ০-ভিত্তিক ইনডেক্স (নেগেটিভ হলে শেষ থেকে)۔
  • length - কতগুলো ক্যারেক্টার নেয়া হবে।

নমুনা কালেকশন তৈরি

> db.demo233.insertOne({ "Paragraph": "My Name is John Smith.I am learning MongoDB database" });
{ "acknowledged": true, "insertedId": ObjectId("5e41877df4cebbeaebec5146") }

> db.demo233.insertOne({ "Paragraph": "David Miller is a good student and learning Spring and Hibernate Framework." });
{ "acknowledged": true, "insertedId": ObjectId("5e4187d7f4cebbeaebec5147") }

ডকুমেন্টগুলো দেখানো

> db.demo233.find().pretty();

আউটপুট:

{ "_id": ObjectId("5e41877df4cebbeaebec5146"), "Paragraph": "My Name is John Smith.I am learning MongoDB database" }
{ "_id": ObjectId("5e4187d7f4cebbeaebec5147"), "Paragraph": "David Miller is a good student and learning Spring and Hibernate Framework." }

প্রথম ১০ ক্যারেক্টার এক্সট্রাক্ট করা

> db.demo233.aggregate([
  { 
    $project: { 
      Paragraph: { $substr: [ "$Paragraph", 0, 10 ] } 
    } 
  }
]);

ফলাফল

{ "_id": ObjectId("5e41877df4cebbeaebec5146"), "Paragraph": "My Name is" }
{ "_id": ObjectId("5e4187d7f4cebbeaebec5147"), "Paragraph": "David Mill" }

ব্যাখ্যা:

  • ইনডেক্স ০ থেকে ১০ ক্যারেক্টার (০-৯) নেওয়া হয়েছে।
  • প্রথম ডকুমেন্ট: "My Name is" (১০ ক্যারেক্টার, স্পেস সহ)।
  • দ্বিতীয় ডকুমেন্ট: "David Mill" (১০ ক্যারেক্টার)।

আধুনিক অপারেটরها (MongoDB ৪.০+)

অপারেটরবিবরণ
$substrBytesবাইট-ভিত্তিক সাবস্ট্রিং (UTF-8 মাল্টি-বাইট ক্যারেক্টারের জন্য ভিন্ন ফলাফল দিতে পারে)
$substrCPকোড পয়েন্ট-ভিত্তিক সাবস্ট্রিং (ইমোজি/স্পেশাল ক্যারেক্টারের জন্য সঠিক)

উদাহরণ: $substrCP (ইমোজি হ্যান্ডলিং)

db.demo233.aggregate([
  { $project: { 
      short: { $substrCP: [ "$Paragraph", 0, 10 ] } 
    } 
  }
]);

বাংলা/ইমোজি থাকলে $substrCP ব্যবহার করাই ভালো।

  1. HTML-এ ইনপুট ফিল্ডে লিমিট কীভাবে দিবেন?

  2. ফর্ম ইনপুট টেক্সট ফিল্ডে ক্যারেক্টার সংখ্যা কীভাবে সীমাবদ্ধ করবেন?

  3. MongoDB-তে $slice ব্যবহার করে ফিল্ডের রিটার্নিং ভ্যালু লিমিট করা

  4. MongoDB-এ নেস্টেড ডকুমেন্ট থেকে শুধু কী (keys) বের করা