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

MongoDB-এ নির্দিষ্ট ফিল্ডযুক্ত ডকুমেন্ট খুঁজে বের করার পদ্ধতি

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`) ব্যবহার করতে হয়।

  1. MongoDB Aggregation-এ নির্দিষ্ট ফিল্ড মান অনুযায়ী ডকুমেন্ট ফিল্টার করা

  2. MongoDB-তে নির্দিষ্ট মান থেকে বড় বা সমান ভ্যালু খোঁজা ($gte)

  3. MongoDB-তে $elemMatch এবং $and দিয়ে অ্যারে ফিল্ডে একাধিক শর্ত মিলিয়ে ডকুমেন্ট বের করা

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