आप एग्रीगेट फ्रेमवर्क के साथ काम कर सकते हैं और विशिष्ट क्रमबद्ध रिकॉर्ड को स्किप के साथ प्रदर्शित करने और लिमिट सेट करने के लिए $sort, $skip और $limit का उपयोग कर सकते हैं। पहले दस्तावेजों के साथ एक संग्रह बनाते हैं:
> db.orderedDistinctDemo.insertOne({"Name":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ccfb8e0140b992277dae0e9") }
> db.orderedDistinctDemo.insertOne({"Name":"Larry"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ccfb8e5140b992277dae0ea") }
> db.orderedDistinctDemo.insertOne({"Name":"Larry"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ccfb8e7140b992277dae0eb") }
> db.orderedDistinctDemo.insertOne({"Name":"Sam"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ccfb8ea140b992277dae0ec") }
> db.orderedDistinctDemo.insertOne({"Name":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ccfb8ee140b992277dae0ed") }
> db.orderedDistinctDemo.insertOne({"Name":"Carol"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ccfb8f2140b992277dae0ee") }
> db.orderedDistinctDemo.insertOne({"Name":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ccfb8f6140b992277dae0ef") }
> db.orderedDistinctDemo.insertOne({"Name":"Carol"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ccfb8f9140b992277dae0f0") }
संग्रह से सभी दस्तावेजों को find() विधि की सहायता से प्रदर्शित करने के लिए क्वेरी:
> db.orderedDistinctDemo.find().pretty();
यह निम्नलिखित आउटपुट उत्पन्न करेगा:
{ "_id" : ObjectId("5ccfb8e0140b992277dae0e9"), "Name" : "John" }
{ "_id" : ObjectId("5ccfb8e5140b992277dae0ea"), "Name" : "Larry" }
{ "_id" : ObjectId("5ccfb8e7140b992277dae0eb"), "Name" : "Larry" }
{ "_id" : ObjectId("5ccfb8ea140b992277dae0ec"), "Name" : "Sam" }
{ "_id" : ObjectId("5ccfb8ee140b992277dae0ed"), "Name" : "John" }
{ "_id" : ObjectId("5ccfb8f2140b992277dae0ee"), "Name" : "Carol" }
{ "_id" : ObjectId("5ccfb8f6140b992277dae0ef"), "Name" : "David" }
{ "_id" : ObjectId("5ccfb8f9140b992277dae0f0"), "Name" : "Carol" }
स्किप और लिमिट के साथ विशिष्ट क्रमबद्ध रिकॉर्ड प्रदर्शित करने के लिए क्वेरी:
> db.orderedDistinctDemo.aggregate(
{ $group : { _id : "$Name" }},
{ $sort : { _id: 1 }},
{ $skip : 3 },
{ $limit : 8 }
);
यह निम्नलिखित आउटपुट उत्पन्न करेगा:
{ "_id" : "Larry" }
{ "_id" : "Sam" }