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

MongoDB-এ নির্দিষ্ট মান সম্বলিত অ্যারে সহ ডকুমেন্ট কীভাবে খুঁজে বের করবেন?

MongoDB-এ একটি অ্যারে ফিল্ডের মধ্যে নির্দিষ্ট মান থাকা ডকুমেন্ট খুঁজে বের করতে সরাসরি find() মেথড ব্যবহার করা যায়। MongoDB অটোমেটিক্যালি অ্যারের ভেতর মানটি খুঁজে বের করে।

সিনট্যাক্স

db.yourCollectionName.find({ "yourArrayFieldName": "yourValue" }).pretty();

নমুনা কালেকশন ও ডকুমেন্ট তৈরি

> db.findSpecificValue.insertOne({ "StudentId": 1, "StudentName": "Larry", "FavouriteSubject": ["C", "C++", "Java"] });
{ "acknowledged": true, "insertedId": ObjectId("5c6e8996140577d89182b8d0") }

> db.findSpecificValue.insertOne({ "StudentId": 2, "StudentName": "Larry", "FavouriteSubject": ["MongoDB", "MySQL", "SQL Server"] });
{ "acknowledged": true, "insertedId": ObjectId("5c6e89b1140577d89182b8d1") }

সমস্ত ডকুমেন্ট প্রদর্শন

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

আউটপুট:

{
  "_id": ObjectId("5c6e8996140577d89182b8d0"),
  "StudentId": 1,
  "StudentName": "Larry",
  "FavouriteSubject": [ "C", "C++", "Java" ]
}
{
  "_id": ObjectId("5c6e89b1140577d89182b8d1"),
  "StudentId": 2,
  "StudentName": "Larry",
  "FavouriteSubject": [ "MongoDB", "MySQL", "SQL Server" ]
}

নির্দিষ্ট মান সম্বলিত ডকুমেন্ট খুঁজে বের করা

FavouriteSubject অ্যারেতে "MongoDB" মান থাকা ডকুমেন্ট খুঁজে বের করা:

> db.findSpecificValue.find({ "FavouriteSubject": "MongoDB" }).pretty();

ফলাফল

{
  "_id": ObjectId("5c6e89b1140577d89182b8d1"),
  "StudentId": 2,
  "StudentName": "Larry",
  "FavouriteSubject": [ "MongoDB", "MySQL", "SQL Server" ]
}

ব্যাখ্যা: MongoDB-এ অ্যারে ফিল্ডে কোয়েরি দিলে সেটি অ্যারের প্রতিটি এলিমেন্টের সাথে মিলিয়ে দেখায়। ফলে "MongoDB" মানটি অ্যারেতে থাকা ডকুমেন্টটি 자동 ফিল্টার হয়ে আসে। কোনো স্পেশাল অপারেটর লাগে না।

  1. MongoDB-এ অ্যারে এলিমেন্টস সহ নির্দিষ্ট ডকুমেন্ট ফেচ করা

  2. MongoDB-এ নির্দিষ্ট অ্যারে এলিমেন্ট সমाहিত ডকুমেন্ট খোঁজা ($all অপারেটর)

  3. MongoDB-তে $regex ব্যবহার করে নির্দিষ্ট স্ট্রিং ধারণকারী ডকুমেন্ট খোঁজা

  4. MongoDB-এ অ্যারে কোয়েরি করে নির্দিষ্ট ভ্যালু ফেচ করা