집계 프레임워크로 작업하고 $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" }