웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > db

MongoDB에서 find() 찾은 후 sorting, 분류하는 방법

Last Modified : 2020-07-30 / Created : 2017-08-01
5,947
View Count
몽고DB의 컬렉션에서 Document를 찾은 후 이를 출력할 때 정렬(sorting)하는 방법을 알아봅니다.




# MongoDB find() 후  정렬하는 방법

MongoDB의 데이터를 원하는 방식으로 정렬하고자 합니다. 먼저 원하는 데이터만 찾기 위해서 find()를 사용하고 반환된 cursor 객체에 sort() 함수를 사용해 아래와 같이 정렬 할 수 있습니다.

db.collectionName.find().sort(sort조건)


여기서 조건값을 설정하는 방법을 아래에서 간략하게 알아보겠습니다.
조건값은 정렬할 필드명과 1, -1을 사용하여 오름차순 또는 내림차순을 결정하게됩니다. 아래처럼 사용되죠.
db.site.find().sort({ 'date': -1 })

여기서 sort() 메소드의 내부에 소팅할 값을 key와 value로 추가하였습니다. 즉 date 필드를 기준으로 값의 1과 -1은 각각 오름차순, 내림차순을 의미합니다.

1 // 오름차순 정렬
-1 // 내림차순 정렬

그럼 몇 가지 예제를 만들어 사용해 봅니다.


! MongoDB sort() 정렬 예제보기


만약 현재 데이터베이스의 numbers라는 컬렉션 내부에 아래와 같은 documents가 존재한다고 생각해봅니다.
{
  'no': '1',
  'no': '2',
  'no': '3'
}

위 데이터를 정렬할 경우 아래처럼 사용할 수 있죠.
db.site.find.sort({'no': -1})

결과는 아래와 같습니다.
{
  'no': '3,
  'no': '2',
  'no': '1'
}

설명하면 sort()에 전달한 파라미터는 소팅기준필드로 no를 선택하였고 값은 -1로 내림차순을 선택한 방법입니다.

여기까지 sort()를 사용하여 정렬한 방법을 알아봤습니다.

Previous

MongoDB에서 String, 문자 바꾸기, replace()

Previous

MongoDB 타입 숫자 또는 문자로 변경하는 방법