이 챕터에서는 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를 내림차순으로 정렬합니다.