Введение
Вас наняли для управления базой данных «Список отличников» (Honor Roll) в университете. Университет отслеживает наиболее успешных студентов на основе их среднего балла (GPA). Ваша задача — наполнить базу данных сведениями о студентах и выявить тех, кто достоин включения в список отличников. Критерием является средний балл выше 3.7. Данные об этих выдающихся студентах необходимо сохранить в отдельной коллекции под названием honor_roll.
Это испытание проверит ваши навыки вставки данных, выполнения запросов по конкретным критериям и создания новых коллекций на основе результатов выборки.
Наполнение и запрос базы данных отличников
Вам предстоит вставить данные о студентах в коллекцию students и отобрать лучших из них для формирования коллекции honor_roll.
Задачи
- Вставьте следующие записи о студентах в коллекцию
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 }
]
- Выполните запрос к коллекции
students, чтобы найти всех учащихся, чейgpaстрого больше 3.7. - Сохраните результаты этого запроса в новую коллекцию с именем
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 по-прежнему должна содержать все четыре записи:
[
{ "_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 для вставки, поиска и эффективного управления коллекциями.

