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

MongoDB-এ নির্দিষ্ট ভ্যালুর সর্বাধিক ঘটনার সাথে অ্যারে ধারণকারী ডকুমেন্ট খুঁজুন

Aggregate পাইপলাইন ব্যবহার করে অ্যারেতে নির্দিষ্ট মানের সর্বাধিক Ocurrence খুঁজে বের করা

এই কাজের জন্য aggregate() ফাংশন ব্যবহার করা হয়। আমরা $filter এবং $size ব্যবহার করে নির্দিষ্ট মানের সংখ্যা গণনা করব, তারপর $group, $sort এবং $limit দিয়ে সর্বাধিক occurrence ওয়ালা ডকুমেন্ট বের করব।

নমুনা সংগ্রহ তৈরি

> db.countOccurrencesDemo.insertOne({"ListOfValues":[65,87,89,65,67,87,87,87]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e06ef9325ddae1f53b621eb") }
> db.countOccurrencesDemo.insertOne({"ListOfValues":[102,65,87,65,89,65,89,65,89,65]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e06efaa25ddae1f53b621ec") }

সব ডকুমেন্ট দেখানো

> db.countOccurrencesDemo.find();

আউটপুট:

{ "_id" : ObjectId("5e06ef9325ddae1f53b621eb"), "ListOfValues" : [ 65, 87, 89, 65, 67, 87, 87, 87 ] }
{ "_id" : ObjectId("5e06efaa25ddae1f53b621ec"), "ListOfValues" : [ 102, 65, 87, 65, 89, 65, 89, 65, 89, 65 ] }

সর্বাধিক occurrence (এখানে 65) ধারণকারী ডকুমেন্ট বের করার কোয়েরি

> db.countOccurrencesDemo.aggregate([
    { "$project": {
        "ListOfValues": 1,
        "OccurencesValue": {
            "$size": {
                "$filter": {
                    "input": "$ListOfValues",
                    "as": "v",
                    "cond": { "$eq": ["$$v", 65] }
                }
            }
        }
    }},
    { "$group": {
        "_id": "$OccurencesValue",
        "MyValues": { "$push": "$$ROOT" }
    }},
    { "$sort": { "_id": -1 } },
    { "$limit": 1 }
]);

ফলাফল:

{ "_id" : 5, "MyValues" : [ { "_id" : ObjectId("5e06efaa25ddae1f53b621ec"), "ListOfValues" : [ 102, 65, 87, 65, 89, 65, 89, 65, 89, 65 ], "OccurencesValue" : 5 } ] }

ব্যাখ্যা: দ্বিতীয় ডকুমেন্টে 65 মোট ৫ বার এসেছে, যা সর্বাধিক। তাই সেটিই ফলাফলে দেখা যাচ্ছে।

  1. MongoDB-এ নির্দিষ্ট প্রাইস থেকে কম প্রাইস والے রেকর্ড খুঁজে বের করা

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

  3. C++-এ অ্যারে থেকে সর্বোচ্চ nCr ভ্যালু দিয়ে জোড়া বের করুন

  4. পাইথনে একটি অ্যারে থেকে সর্বোচ্চ nCr মান দিয়ে জোড়া বের করুন