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" মানটি অ্যারেতে থাকা ডকুমেন্টটি 자동 ফিল্টার হয়ে আসে। কোনো স্পেশাল অপারেটর লাগে না।