MongoDB의 페이징
이 기사에서는 MongoDB의 페이지네이션에 대해 자세히 설명합니다. 또한 MongoDB에서 페이지 매김의 사용 및 작업에 대해서도 간략하게 자세히 설명합니다.
마지막으로 MongoDB에서 페이징을 수행하는 다양한 방법에 대해 설명합니다.
이 기사의 목차는 다음과 같습니다.
- MongoDB의 페이징
- MongoDB에서 페이지 매김 작업
- MongoDB에서 페이징하는 다양한 방법
MongoDB의 페이징
MongoDB는 컬렉션에 포함된 JSON 유형 문서의 데이터를 관리하는 널리 사용되는 NoSQL 데이터베이스입니다. 때때로 몇 개의 문서만 복구해야 할 수도 있고 깨끗한 출력을 원할 수도 있습니다.
페이지 매김 현상은 읽을 수 있는 출력을 제공하기 위해 MongoDB에서 활용됩니다. 페이지 매김은 방대한 양의 무질서한 데이터를 페이지 형식으로 표시하는 방법입니다.
MongoDB의 일반적인 기술과 비교할 때 페이지 매김의 도움으로 결과를 더 빨리 가져올 수 있습니다.
MongoDB 페이지 매김은 데이터를 설명하는 효과적인 기술을 제공하여 페이징을 빠르고 효율적으로 만듭니다. MongoDB에서는 많은 데이터를 빠르게 검사할 수 있습니다.
페이징 구현의 필수 응용 프로그램은 데이터베이스 수준에서 건너뛰기
, 제한
및 정렬
을 사용한다는 것입니다. 그러나 limit
및 skip
은 데이터베이스 수준에서 사용될 때 다양한 문제가 있습니다.
페이지 매김은 이전 페이지를 활용하여 다음 페이지를 검색하는 과정일 뿐입니다. MongoDB에서는 컬렉션 필드에 인덱스를 설정하여 데이터 액세스 속도를 높일 수 있습니다.
페이지 매기기 방법:
skip()
및limit()
메서드 사용find()
및limit()
메서드 사용$slice
방법을 사용한 페이지 매김- 인덱스 생성을 통한 페이지 매김
sort()
메서드를 사용한 페이지 매김- 범위 쿼리를 사용한 페이지 매김
MongoDB에서 페이지네이션 작업
-
MongoDB는 문서 기반 데이터베이스이므로 MongoDB를 사용하는 동안 페이지 매김은 매우 중요한 사용 사례입니다.
-
MongoDB에서 응답을 페이지로 나누면 문서 결과가 명확하고 이해하기 쉬운 형식으로 표시됩니다.
-
MongoDB 데이터베이스를 페이지화하기 위해 다음 시나리오가 사용되었습니다.
3.1. 배치 파일 처리
3.2. 사용자 화면 또는 인터페이스에 설정된 많은 수의 결과를 표시하려면 -
다른 옵션에 비해 비용이 많이 들기 때문에 MongoDB에서 클라이언트 및 서버 측 페이지 매김을 고려할 수 없습니다.
-
데이터베이스 수준에서 페이지 매김을 처리하고 있으며 데이터베이스 수준에서 페이지 매김을 수행하도록 데이터베이스를 최적화하고 있습니다.
MongoDB 데이터베이스에 페이지를 매기는 다양한 방법
Find()
및 limit()
메서드 사용
MongoDB의 limit
메서드는 최대 문서 수를 나타냅니다. 페이지 수는 정수로 제공되며 쿼리가 한계에 도달하면 결과가 인쇄됩니다.
MongoDB에서 limit
메소드를 사용하려면 아래 표시된 구문을 사용하십시오.
db.collection-name.find().limit()
구문의 컬렉션 이름은 이 메서드를 적용할 컬렉션의 이름으로 대체해야 합니다. find()
함수는 모든 문서를 반환하는 반면 limit()
메서드는 반환되는 문서 수를 제한하는 데 사용됩니다.
예를 들어 다음 명령은 students
컬렉션의 처음 세 항목만 게시합니다.
db.students.find().limit(3).pretty()
limit()
를 skip()
메소드와 함께 사용
MongoDB의 페이지 매김 현상에 속하려면 skip()
함수와 함께 limit
메소드를 사용하십시오. 이전에 언급한 것처럼 이전 제한 기술은 컬렉션의 최대 문서 수를 표시합니다.
반대로 skip()
메서드는 컬렉션에 제공된 문서 수를 무시하는 데 유용합니다. 그리고 결과는 limit()
및 skip()
메소드를 사용할 때 더욱 정교해집니다.
limit()
및 skip()
메소드를 사용하기 위한 구문은 다음과 같습니다.
db.Collection-name.find().skip().limit()
여기서 skip()
및 limit()
는 숫자 값만 사용합니다.
아래 나열된 명령은 다음 작업을 수행합니다.
skip(2)
- 이 방법은students
컬렉션에서 처음 두 문서를 건너뜁니다.limit(3)
- 처음 두 문서를 건너뛴 후 다음 세 문서가 인쇄됩니다.
db.students.find().skip(2).limit(3)
범위 쿼리 사용
이름에서 알 수 있듯이 이 쿼리는 모든 필드 범위를 기반으로 문서를 처리합니다. 범위 쿼리를 사용하기 위한 구문은 다음과 같습니다.
db.collection-name.find().min({_id: }).max({_id: })
다음 예에서는 3
과 5
사이에 속하는 students
컬렉션의 문서를 표시합니다. 출력은 min()
함수의 value(3)
으로 시작하여 max()
메서드의 value(5)
이전에 끝나는 것으로 보입니다.
db.students.find().min({_id: 3}).max({_id: 5})
정렬()
메서드 사용
sort()
기능을 사용하여 컬렉션의 문서를 재정렬합니다. 레이아웃은 오름차순 또는 내림차순으로 정렬할 수 있습니다.
정렬
방법을 사용하기 위한 구문은 다음과 같습니다.
db.collection-name.find().sort({<field-name>: <1 or -1>})
필드 이름은 해당 필드를 기준으로 문서를 구성하는 모든 필드가 될 수 있으며 오름차순 정렬에는 1
을, 내림차순 정렬에는 -1
을 삽입할 수 있습니다.
위에서 사용된 명령은 students
컬렉션의 문서를 _id
필드를 기준으로 내림차순으로 정렬합니다.
db.students.find().sort({id: -1})
$slice
연산자 사용
찾기 방법에서 $slice
연산자는 모든 문서의 단일 필드에서 몇 가지 요소를 잘라내고 해당 문서만 표시하는 데 사용됩니다.
db.collection-name.find({<field-name>, {$slice: [<num>, <num>]}})
이 연산자에 대한 배열 필드가 있는 다른 staff
컬렉션을 만들었습니다. MongoDB의 $slice
연산자를 사용하여 다음 명령은 staff
컬렉션의 random
필드에서 두 값의 수를 표시합니다.
다음 명령에서 1
은 임의 필드의 첫 번째 값을 건너뛰고 2
는 건너뛴 후 다음 2
값을 표시합니다.
db.staff.find({},{random: {$slice: [1,2]}})
createIndex()
메서드 사용
색인은 최단 시간 내에 문서를 검색하는 데 필수적입니다. 필드에 인덱스가 형성되면 쿼리는 인덱스 번호를 사용하여 전체 컬렉션을 순회하지 않고 필드를 식별합니다.
다음은 인덱스를 만드는 구문입니다.
db.collection-name.createIndex({<field-name>: <1 or -1>})
<field-name>
은 모든 필드가 될 수 있지만 주문 값은 항상 동일합니다. 여기서 명령은 students
컬렉션의 name
필드에 오름차순 인덱스를 구성합니다.
db.students.createIndex({name: 1})
MongoDB는 문서 저장 및 검색에 대한 고유한 지원으로 잘 알려져 있습니다. 데이터베이스 관리자는 MongoDB에서 페이지 매김을 사용하여 이해하기 쉽고 매력적인 형식으로 문서를 검색할 수 있습니다.
이 기사에서는 페이징 현상이 MongoDB에서 어떻게 작동하는지 보여주었습니다. MongoDB에는 이를 위한 다양한 메서드와 연산자가 있으며 여기에 자세한 예가 나와 있습니다.
각 방법에는 데이터베이스 컬렉션에서 문서를 검색하는 고유한 기술이 있습니다. 필요에 가장 적합한 옵션을 선택할 수 있습니다.