이 챕터에서는 MongoDB에서 쿼리 결과를 정렬하는 방법을 소개합니다. 이는 MySQL의 ORDER BY 절의 사용법과 유사합니다. MongoDB에서의 페이징은 Cursor 커서의 sort
함수를 통해 구현됩니다.
테스트 데이터 준비
음식점 컬렉션에 몇 가지 레코드를 삽입합니다.
db.restaurants.insertMany( [
{ "_id" : 1, "name" : "Central Park Cafe", "borough" : "맨해튼"},
{ "_id" : 2, "name" : "Rock A Feller Bar and Grill", "borough" : "퀸즈"},
{ "_id" : 3, "name" : "Empire State Pub", "borough" : "브루클린"},
{ "_id" : 4, "name" : "Stan's Pizzaria", "borough" : "맨해튼"},
{ "_id" : 5, "name" : "Jane's Deli", "borough" : "브루클린"},
] );
결과 정렬
db.restaurants.find({}).sort({_id:1})
설명:
-
sort
함수를 사용하여 정렬 필드를 설정합니다. - 모든 데이터를 쿼리하고 _id를 오름차순으로 정렬합니다.
sort 함수 매개변수 형식:
<field>: 1 또는 -1
설명:
- 1은 오름차순을 나타냅니다.
- -1은 내림차순을 나타냅니다.
페이지네이션과 결합
db.restaurants.find({}).limit(2).skip(2).sort({_id:-1})
설명:
- 모든 데이터를 쿼리하고 최대 2개의 레코드를 반환하며, 2개의 레코드를 건너뛴 뒤 _id를 내림차순으로 정렬합니다.