단일 필드로 문서 정렬
이 단계에서는 MongoDB 컬렉션의 문서를 정렬하는 방법을 배웁니다. 정렬을 사용하면 쿼리 결과를 특정 순서로 구성할 수 있으며, 이는 데이터 분석 및 프레젠테이션에 매우 중요합니다. 여러분의 환경에는 books 컬렉션을 포함하는 bookstore 데이터베이스가 미리 구성되어 있습니다.
먼저 MongoDB 셸을 열어 데이터베이스와 상호 작용합니다. 터미널에서 다음 명령을 실행합니다.
mongosh
셸에 접속한 후 bookstore 데이터베이스로 전환합니다.
use bookstore
books 컬렉션의 문서를 보려면 find() 메서드를 사용할 수 있습니다.
db.books.find();
이제 이 문서들을 정렬해 보겠습니다. 단일 필드로 정렬하려면 find() 쿼리에 .sort() 메서드를 연결합니다. sort() 메서드는 정렬할 필드와 방향을 지정하는 객체를 받습니다. 방향은 오름차순의 경우 1, 내림차순의 경우 -1입니다.
페이지 수가 적은 순서대로 (가장 적은 페이지부터 많은 페이지까지) 책을 정렬해 보겠습니다.
db.books.find().sort({ pages: 1 });
가장 적은 페이지를 가진 책인 "Python Basics"가 먼저 나열된 것을 볼 수 있습니다.
[
{
_id: ObjectId('...'),
title: 'Python Basics',
pages: 250,
price: 29.99
},
{
_id: ObjectId('...'),
title: 'MongoDB Fundamentals',
pages: 300,
price: 34.99
},
...
]
다음으로, 가장 비싼 책을 먼저 찾기 위해 가격별로 책을 내림차순으로 정렬해 보겠습니다.
db.books.find().sort({ price: -1 });
이 명령은 가장 높은 가격을 가진 "Data Science"를 맨 위에 표시합니다.
[
{
_id: ObjectId('...'),
title: 'Data Science',
pages: 350,
price: 44.99
},
{
_id: ObjectId('...'),
title: 'JavaScript Advanced',
pages: 400,
price: 39.99
},
...
]