Computer >> 컴퓨터 >  >> 프로그래밍 >> MongoDB

MongoDB에서 처음 n개 문서를 건너뛰는 쿼리 작성 방법

MongoDB에서 처음 n개 문서 건너뛰기

MongoDB에서 특정 개수의 문서를 건너뛰고 그 다음 문서부터 조회하려면 skip() 메서드와 limit() 메서드를 함께 사용하면 됩니다. skip(n)은 앞에서부터 n개의 문서를 무시하고, limit(m)은 이후 m개의 문서만 반환합니다.

먼저 실습에 사용할 컬렉션을 생성하고 문서를 삽입해 보겠습니다.

> db.demo246.insertOne({"StudentFirstName":"Chris","StudentLastName":"Brown"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e46b0d71627c0c63e7dba65")
}
> db.demo246.insertOne({"StudentFirstName":"John","StudentLastName":"Doe"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e46b0e21627c0c63e7dba66")
}
> db.demo246.insertOne({"StudentFirstName":"John","StudentLastName":"Smith"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e46b0ea1627c0c63e7dba67")
}
> db.demo246.insertOne({"StudentFirstName":"Carol","StudentLastName":"Taylor"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e46b0f91627c0c63e7dba68")
}

find()로 전체 문서 확인하기

find() 메서드를 사용하면 컬렉션에 저장된 모든 문서를 조회할 수 있습니다.

> db.demo246.find();

위 명령은 다음과 같은 결과를 출력합니다.

{ "_id" : ObjectId("5e46b0d71627c0c63e7dba65"), "StudentFirstName" : "Chris", "StudentLastName" : "Brown" }
{ "_id" : ObjectId("5e46b0e21627c0c63e7dba66"), "StudentFirstName" : "John", "StudentLastName" : "Doe" }
{ "_id" : ObjectId("5e46b0ea1627c0c63e7dba67"), "StudentFirstName" : "John", "StudentLastName" : "Smith" }
{ "_id" : ObjectId("5e46b0f91627c0c63e7dba68"), "StudentFirstName" : "Carol", "StudentLastName" : "Taylor" }

skip()과 limit()으로 문서 건너뛰기

이제 MongoDB에서 처음 n개의 문서를 건너뛰는 쿼리를 살펴보겠습니다. 아래 예제는 앞의 2개 문서를 건너뛴 후 1개의 문서만 반환합니다.

> db.demo246.find().skip(2).limit(1);

실행 결과는 다음과 같습니다.

{ "_id" : ObjectId("5e46b0ea1627c0c63e7dba67"), "StudentFirstName" : "John", "StudentLastName" : "Smith" }

결과를 보면 첫 번째(Chris Brown)와 두 번째(John Doe) 문서가 건너뛰어지고, 세 번째 문서인 John Smith만 반환된 것을 확인할 수 있습니다. 이처럼 skip()과 limit()을 조합하면 페이지네이션 구현 등 다양한 상황에서 원하는 범위의 데이터를 손쉽게 조회할 수 있습니다.