MongoDB-এ নির্দিষ্ট ফিল্ডযুক্ত ডকুমেন্ট খুঁজে বের করতে $exists অপারেটর ব্যবহার করা হয়। নিচে একটি উদাহরণের মাধ্যমে এটি ব্যাখ্যা করা হলো।
ডেটা তৈরি করা
প্রথমে demo247 নামে একটি কালেকশন তৈরি করে কিছু ডকুমেন্ট ইনসার্ট করা যাক:
> db.demo247.insertOne({"ClientDetails":[{"ClientFirstName":"Chris","ClientAge":34}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e46b2a31627c0c63e7dba69") }
> db.demo247.insertOne({"ClientDetails":[{"ClientFirstName":"John","ClientLastName":"Smith","ClientAge":31}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e46b2be1627c0c63e7dba6a") }
> db.demo247.insertOne({"ClientDetails":[{"ClientFirstName":"David","ClientAge":33}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e46b2cd1627c0c63e7dba6b") }
> db.demo247.insertOne({"ClientDetails":[{"ClientFirstName":"David","ClientLastName":"Miller","ClientAge":31}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e46b2de1627c0c63e7dba6c") }
সभी ডকুমেন্ট দেখানো
find() মেথড দিয়ে সব ডকুমেন্ট দেখানো যাক:
> db.demo247.find().pretty();
আউটপুট:
{
"_id" : ObjectId("5e46b2a31627c0c63e7dba69"),
"ClientDetails" : [
{
"ClientFirstName" : "Chris",
"ClientAge" : 34
}
]
}
{
"_id" : ObjectId("5e46b2be1627c0c63e7dba6a"),
"ClientDetails" : [
{
"ClientFirstName" : "John",
"ClientLastName" : "Smith",
"ClientAge" : 31
}
]
}
{
"_id" : ObjectId("5e46b2cd1627c0c63e7dba6b"),
"ClientDetails" : [
{
"ClientFirstName" : "David",
"ClientAge" : 33
}
]
}
{
"_id" : ObjectId("5e46b2de1627c0c63e7dba6c"),
"ClientDetails" : [
{
"ClientFirstName" : "David",
"ClientLastName" : "Miller",
"ClientAge" : 31
}
]
}
নির্দিষ্ট ফিল্ড (`ClientLastName`) যুক্ত ডকুমেন্ট খুঁজে বের করা
$exists: true ব্যবহার করে কোয়েরি:
> db.demo247.find({"ClientDetails.ClientLastName":{$exists:true}});
ফলাফল (শুধু যেগুলোতে `ClientLastName` ফিল্ড আছে):
{
"_id" : ObjectId("5e46b2be1627c0c63e7dba6a"),
"ClientDetails" : [
{
"ClientFirstName" : "John",
"ClientLastName" : "Smith",
"ClientAge" : 31
}
]
}
{
"_id" : ObjectId("5e46b2de1627c0c63e7dba6c"),
"ClientDetails" : [
{
"ClientFirstName" : "David",
"ClientLastName" : "Miller",
"ClientAge" : 31
}
]
}
নোট: নেস্টেড অ্যারে বা সাব-ডকুমেন্টের মধ্যে ফিল্ড খুঁজতে ডট নোটেশন (`ClientDetails.ClientLastName`) ব্যবহার করতে হয়।