Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

MongoDB에서 사용자 정의 필드를 사용하여 페이지 매김으로 인덱싱 및 정렬하는 방법은 무엇입니까?

<시간/>

먼저 문서로 컬렉션을 생성해 보겠습니다. −

> db.demo373.createIndex({"Name":1,"CountryName":1});
{
   "createdCollectionAutomatically" : true,
   "numIndexesBefore" : 1,
   "numIndexesAfter" : 2,
   "ok" : 1
}
> db.demo373.insertOne({"Name":"Chris","Age":22,"CountryName":"US"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e59ffde2ae06a1609a00aff")
}
> db.demo373.insertOne({"Name":"David","Age":21,"CountryName":"AUS"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e59ffe82ae06a1609a00b00")
}
> db.demo373.insertOne({"Name":"Bob","Age":23,"CountryName":"UK"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e59fff42ae06a1609a00b01")
}
> db.demo373.insertOne({"Name":"John","Age":21,"CountryName":"US"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e59ffff2ae06a1609a00b02")
}
> db.demo373.insertOne({"Name":"Carol","Age":23,"CountryName":"AUS"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5a00082ae06a1609a00b03")
}

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo373.find();

이것은 다음과 같은 출력을 생성합니다 -

{ "_id" : ObjectId("5e59ffde2ae06a1609a00aff"), "Name" : "Chris", "Age" : 22, "CountryName" : "US" }
{ "_id" : ObjectId("5e59ffe82ae06a1609a00b00"), "Name" : "David", "Age" : 21, "CountryName" : "AUS" }
{ "_id" : ObjectId("5e59fff42ae06a1609a00b01"), "Name" : "Bob", "Age" : 23, "CountryName" : "UK" }
{ "_id" : ObjectId("5e59ffff2ae06a1609a00b02"), "Name" : "John", "Age" : 21, "CountryName" : "US" }
{ "_id" : ObjectId("5e5a00082ae06a1609a00b03"), "Name" : "Carol", "Age" : 23, "CountryName" : "AUS" }

다음은 MongoDB에서 페이지 매김으로 인덱스 및 정렬을 구현하는 쿼리입니다 -

> db.demo373.find().sort({"Name":1, "Age":1}).limit(4).skip(2);

이것은 다음과 같은 출력을 생성합니다 -

{ "_id" : ObjectId("5e59ffde2ae06a1609a00aff"), "Name" : "Chris", "Age" : 22, "CountryName" : "US" }
{ "_id" : ObjectId("5e59ffe82ae06a1609a00b00"), "Name" : "David", "Age" : 21, "CountryName" : "AUS" }
{ "_id" : ObjectId("5e59ffff2ae06a1609a00b02"), "Name" : "John", "Age" : 21, "CountryName" : "US" }