첫 번째 결과 유지하기
Coddy Node.js 여정의 MongoDB 데이터베이스 섹션에 포함된 레슨. 29개 중 12번째.
최신 책 두 권을 보여 주는 페이지에는 첫 번째 결과 두 개만 필요합니다. 커서에는 이를 위한 limit 메서드가 있습니다. limit은 필드 값이 아니라 문서 수입니다.
await books.find().sort({year: 1}).limit(1).toArray();
// [Emma], 가장 오래된 책find 커서에서는 호출을 어떤 순서로 연결하든 MongoDB가 제한하기 전에 정렬합니다. 코드가 그 순서대로 읽히도록 sort를 먼저 작성하세요. limit이 1이어도 배열이 반환됩니다. 일치하는 문서가 limit보다 적으면 데이터베이스는 사용 가능한 문서를 반환합니다. 빈 자리 표시자는 추가되지 않습니다.
쿼리 값은 텍스트입니다. Number(input.page) || 1은 그 값을 숫자로 사용하며, 값이 없으면 1을 사용합니다. 이 방식은 양의 정수를 허용합니다.
챌린지
쉬움제공된 최신순 정렬을 유지하세요. 쿼리 문자열의 input.n을 사용해 결과를 제한하고, 값이 없으면 2를 사용하세요. 문서는 변경하지 않고 반환하세요.
실행해 보세요: GET /result?n=2는 Kindred 다음에 Dune을 반환합니다. ?n=1이면 Kindred만 남습니다. n이 없으면 기본값으로 결과 두 개가 반환됩니다. 입력값은 양의 정수입니다.
직접 해보기
export async function exercise(books, input) {
return await books.find().sort({ year: -1 }).toArray();
}
MongoDB 데이터베이스의 모든 레슨
직접 연습해 보세요: Express 플레이그라운드