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

MongoDB-এ গ্রুপ অনুযায়ী সর্বোচ্চ মানযুক্ত ডকুমেন্ট পাওয়ার পদ্ধতি

MongoDB-এ প্রতিটি গ্রুপে সর্বোচ্চ মানযুক্ত ডকুমেন্ট পেতে $sort এবং $group অপারেটর একসাথে ব্যবহার করতে হয়।

উদাহরণ ডেটা তৈরি করি:

> db.maxAttributePerGroup.insertOne({"StudentFirstName": "John", "StudentLastName": "Smith", "StudentAge": 29, "StudentId": 10});
> db.maxAttributePerGroup.insertOne({"StudentFirstName": "Carol", "StudentLastName": "Taylor", "StudentAge": 19, "StudentId": 10});
> db.maxAttributePerGroup.insertOne({"StudentFirstName": "Adam", "StudentLastName": "Smith", "StudentAge": 34, "StudentId": 20});
> db.maxAttributePerGroup.insertOne({"StudentFirstName": "Bob", "StudentLastName": "Taylor", "StudentAge": 58, "StudentId": 20});

প্রতি গ্রুপে (StudentId অনুযায়ী) সর্বোচ্চ বয়স (StudentAge) ওখানের ডকুমেন্ট পাওয়ার কোয়েরি:

> db.maxAttributePerGroup.aggregate([
    {$sort: {"StudentId": 1, "StudentAge": -1}},
    {$group: {
        "_id": "$StudentId",
        "StudentAge": {$first: "$StudentAge"},
        "StudentFirstName": {$first: "$StudentFirstName"},
        "StudentLastName": {$first: "$StudentLastName"}
    }}
]).pretty();

ফলাফল:

{
    "_id": 20,
    "StudentAge": 58,
    "StudentFirstName": "Bob",
    "StudentLastName": "Taylor"
}
{
    "_id": 10,
    "StudentAge": 29,
    "StudentFirstName": "John",
    "StudentLastName": "Smith"
}

এখানে প্রথমে StudentAge অবরোহী ক্রমে সর্ট করা হয়েছে, তারপর $group-এ $first ব্যবহার করে প্রতিটি গ্রুপের প্রথম (সর্বোচ্চ বয়সীয়) ডকুমেন্ট নেওয়া হয়েছে।

  1. MongoDB Group কোয়েরি ব্যবহার করে ডকুমেন্টে পুনরাবৃত্ত ماركের কাউন্ট বের করা

  2. MongoDB অ্যাগ্রিগেশন দিয়ে সবচেয়ে কম মার্কসuage वाले দুটি ডকুমেন্ট বের করা

  3. MongoDB-তে $or অপারেটর ব্যবহার করে একাধিক শর্তে ডকুমেন্ট বের করা

  4. MongoDB-এ ফর্মুলা দিয়ে কালেকশনের সব ডকুমেন্টের ফিল্ড আপডেট করা