← К оглавлению занятия

📝 Задания

📁 Блок: MongoDB / Практикум ⏱️ Время изучения: ~90 мин 🎯 Сложность: Практикум

⚡ Кратко: суть занятия

Практикум 16 закрепляет создание коллекции и запросы MongoDB на небольшом наборе planets.

Коллекцию лучше назвать с личным суффиксом, чтобы не конфликтовать с работой других студентов.

Основные поля: name, orderFromSun, hasRings, surfaceTemperatureC.

Фильтры тренируют равенство, диапазоны $gte/$lte, булевы поля и комбинирование условий.

Сортировка по orderFromSun помогает быстро проверить порядок планет.

countDocuments() подходит для подсчёта документов по условию.

После базовых запросов документы дополняются mass10e24kg, а затем используются в сортировках и группировках.

Топ-3 ошибки: записать отрицательные температуры с посторонним символом, перепутать true/false со строками, забыть обновить все планеты перед агрегацией.

Задания из источника

1

Задание 1

Создать коллекцию planets_<name> и вставить 8 планет из источника.

2

Задание 2

Найти планету Mercury.

3

Задание 3

Найти планеты с orderFromSun от 1 до 3.

4

Задание 4

Найти планеты с hasRings: true.

5

Задание 5

Найти планеты с surfaceTemperatureC выше 50.

6

Задание 6

Найти планеты с температурой от 50 до 100.

7

Задание 7

Найти планеты без колец и с температурой ниже 0.

8

Задание 8

Отсортировать планеты по orderFromSun в порядке убывания.

9

Задание 9

Посчитать планеты с температурой выше 50.

10

Задание 10

Найти планету с самой высокой температурой.

11

Задание 11

Найти планеты с температурой более 100 и без колец.

12

Задание 12

Добавить массу каждой планеты и сгруппировать планеты по типу.

Проверка понимания

Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.

Вопрос 1

Какое поле удобно использовать для сортировки планет от Солнца?

Вопрос 2

Как найти планеты с кольцами?

Вопрос 3

Какой оператор задаёт нижнюю границу диапазона?

Вопрос 4

Что вернёт sort({ surfaceTemperatureC: -1 }).limit(1)?

Вопрос 5

Чем лучше countDocuments() для подсчёта по условию?

Вопрос 6

Зачем добавлять имя к planets?