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

MongoDB-এ limit ব্যবহার করার সময় মোট ডকুমেন্ট সংখ্যা পাওয়ার পদ্ধতি

MongoDB-এ limit() ব্যবহার করলে ক্যোয়েরির ফলাফল সীমিত হয়, কিন্তু মোট কতগুলো ডকুমেন্ট মেলেছে সেটা জানতে $facet অপারেটর (MongoDB 3.4+) ব্যবহার করা হয়।

উদাহরণ ডেটা:

> db.totalDocumentDemo.insertOne({"InstructorId": 100, "InstructorName": "Larry", "InstructorFavouriteSubject": ["Java", "MongoDB", "Python"]});
> db.totalDocumentDemo.insertOne({"InstructorId": 200, "InstructorName": "Sam", "InstructorFavouriteSubject": ["SQL Server", "C#", "Javascript"]});

$facet ব্যবহার করে একই কোয়েরিতে ডেটা ও মোট সংখ্যা পাওয়ার কোয়েরি:

> db.totalDocumentDemo.aggregate([
    {
        $facet: {
            Alldata: [{$match: {}}],
            totalDocument: [{$count: "totalDocument"}]
        }
    }
]).pretty();

ফলাফল:

{
    "Alldata": [
        {"_id": ObjectId("..."), "InstructorId": 100, "InstructorName": "Larry", "InstructorFavouriteSubject": ["Java", "MongoDB", "Python"]},
        {"_id": ObjectId("..."), "InstructorId": 200, "InstructorName": "Sam", "InstructorFavouriteSubject": ["SQL Server", "C#", "Javascript"]}
    ],
    "totalDocument": [{"totalDocument": 2}]
}

$facet একাধিক সাব-পাইপলাইন একসাথে চালাতে দেয়, ফলে একই অপারেশনে পেইনেটেড ডেটা ও টোটাল কাউন্ট পাওয়া যায়।

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

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

  3. MongoDB ডকুমেন্টের নির্দিষ্ট ফিল্ড থেকে অ্যারে এলিমেন্ট কাউন্ট করা

  4. MySQL-এ LIMIT ব্যবহার করে টোটাল রো সংখ্যা বের করা