우수 학생 명단 트래커

MongoDBBeginner
지금 연습하기

소개

귀하는 대학교의 "우수 학생 명단 (Honor Roll)" 데이터베이스 관리자로 채용되었습니다. 이 대학교는 평점 (GPA) 을 기준으로 성적이 우수한 학생들을 추적합니다. 귀하의 임무는 학생 데이터를 데이터베이스에 입력하고, 평점이 3.7 보다 높은 학생들을 식별하여 우수 학생으로 분류하는 것입니다. 이렇게 선발된 우수 학생들은 honor_roll이라는 별도의 컬렉션에 저장해야 합니다.

이 챌린지에서는 데이터를 삽입하고, 특정 레코드를 조회하며, 조회 결과를 바탕으로 새로운 컬렉션을 생성하는 능력을 테스트합니다.

데이터 입력 및 우수 학생 명단 조회

students 컬렉션에 학생 데이터를 삽입하고, 성적이 우수한 학생들을 조회하여 honor_roll 컬렉션을 구성합니다.

과제

  1. 다음 학생 레코드를 students 컬렉션에 삽입하세요.
[
  { "name": "Anna Lee", "age": 19, "major": "Mathematics", "gpa": 3.9 },
  { "name": "Sam Green", "age": 21, "major": "History", "gpa": 3.4 },
  { "name": "Chris Black", "age": 20, "major": "Physics", "gpa": 3.8 },
  { "name": "Jamie White", "age": 22, "major": "Literature", "gpa": 3.5 }
]
  1. students 컬렉션에서 gpa가 3.7 보다 큰 학생들을 조회하세요.
  2. 조회된 결과를 honor_roll이라는 이름의 새로운 컬렉션에 저장하세요.

요구 사항

  • 반드시 university 데이터베이스 내에서 작업해야 합니다.
  • honor_roll 컬렉션에는 평점이 3.7 을 초과하는 학생들만 포함되어야 합니다.
  • students 컬렉션의 모든 레코드는 그대로 유지되어야 합니다.

힌트

  • const를 사용하여 조회 결과를 저장하면 나중에 해당 데이터를 참조하기 편리합니다.
  • .toArray()는 조회 결과를 배열로 변환하여 추가 처리를 할 때 유용합니다.

예시

과제를 완료한 후, honor_roll 컬렉션은 다음과 같은 내용을 포함해야 합니다.

[
  { "_id": ObjectId("..."), "name": "Anna Lee", "age": 19, "major": "Mathematics", "gpa": 3.9 },
  { "_id": ObjectId("..."), "name": "Chris Black", "age": 20, "major": "Physics", "gpa": 3.8 }
]

students 컬렉션에는 여전히 4 개의 레코드가 모두 남아 있어야 합니다.

[
  { "_id": ObjectId("..."), "name": "Anna Lee", "age": 19, "major": "Mathematics", "gpa": 3.9 },
  { "_id": ObjectId("..."), "name": "Sam Green", "age": 21, "major": "History", "gpa": 3.4 },
  { "_id": ObjectId("..."), "name": "Chris Black", "age": 20, "major": "Physics", "gpa": 3.8 },
  { "_id": ObjectId("..."), "name": "Jamie White", "age": 22, "major": "Literature", "gpa": 3.5 }
]

요약

이 챌린지에서 귀하는 대학교의 데이터베이스 관리자로서 우수 학생을 식별하는 업무를 수행했습니다. students 컬렉션에 학생 데이터를 성공적으로 삽입하고, 평점이 3.7 을 초과하는 우수 학생을 조회한 뒤, 그 결과를 새로운 honor_roll 컬렉션에 저장했습니다. 이 실습 과정을 통해 데이터를 삽입, 조회 및 컬렉션을 효율적으로 관리하는 MongoDB 명령어를 익힐 수 있었습니다.

✨ 솔루션 확인 및 연습