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

MongoDB에서 원하는 개수만큼 레코드 조회하기 - limit() 메서드 활용법

MongoDB limit() 메서드로 레코드 개수 제한하기

MongoDB에서 특정 개수의 레코드(문서)만 조회하고 싶다면 limit() 메서드를 사용하면 됩니다. 이 메서드는 숫자 타입의 인자를 하나 받으며, 해당 값은 화면에 표시할 문서의 개수를 의미합니다.

1. 샘플 컬렉션 생성

먼저 문서를 포함하는 컬렉션을 생성해 보겠습니다.

> db.demo549.insertOne({"Name":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8e32889e5f92834d7f05df")
}
> db.demo549.insertOne({"Name":"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8e328c9e5f92834d7f05e0")
}
> db.demo549.insertOne({"Name":"Bob"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8e328f9e5f92834d7f05e1")
}
> db.demo549.insertOne({"Name":"John"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8e32929e5f92834d7f05e2")
}

위 명령어로 'Chris', 'David', 'Bob', 'John'이라는 네 개의 이름 데이터가 담긴 demo549 컬렉션이 생성되었습니다.

2. 전체 문서 조회하기

find() 메서드를 사용하면 컬렉션의 모든 문서를 확인할 수 있습니다.

> db.demo549.find();

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

{ "_id" : ObjectId("5e8e32889e5f92834d7f05df"), "Name" : "Chris" }
{ "_id" : ObjectId("5e8e328c9e5f92834d7f05e0"), "Name" : "David" }
{ "_id" : ObjectId("5e8e328f9e5f92834d7f05e1"), "Name" : "Bob" }
{ "_id" : ObjectId("5e8e32929e5f92834d7f05e2"), "Name" : "John" }

3. limit()으로 조회 개수 지정하기

이제 limit() 메서드를 사용해 지정된 개수의 레코드만 조회해 보겠습니다. 아래 쿼리는 최대 2개의 문서만 반환합니다.

> db.demo549.find().limit(2);

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

{ "_id" : ObjectId("5e8e32889e5f92834d7f05df"), "Name" : "Chris" }
{ "_id" : ObjectId("5e8e328c9e5f92834d7f05e0"), "Name" : "David" }

limit() 사용 시 참고 사항

  • limit()에 인자를 0으로 설정하면 모든 문서가 반환됩니다.
  • skip() 메서드와 함께 사용하면 특정 위치부터 원하는 개수만큼 건너뛰며 조회할 수 있어 페이징 처리에 유용합니다.
  • sort()와 조합하면 정렬된 결과 중 상위 N개의 문서를 가져올 수 있습니다. 예: db.demo549.find().sort({"Name":1}).limit(2)

이처럼 MongoDB의 limit() 메서드를 활용하면 대량의 데이터 중에서 필요한 만큼의 레코드만 효율적으로 조회할 수 있습니다.