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

📝 Задания

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

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

Занятие 57 показывает, чем MongoDB Compass помогает при формировании выборки.

Compass умеет показывать коллекции разными видами, анализировать поля, подсказывать запросы и сохранять историю.

Источник отдельно упоминает план выполнения запроса и валидацию документов через $jsonSchema.

$all выбирает документы, где массив содержит все указанные элементы.

$exists проверяет наличие поля, включая случай, когда значение равно null.

$in выбирает документы, где поле равно одному из значений массива.

Практика строится на фильмах: рейтинг Rotten Tomatoes, жанры Drama/Fantasy, страны, Project и Sort.

Топ-3 ошибки: использовать $in вместо $all для нескольких жанров, забыть точечную нотацию tomatoes.viewer.rating, сортировать released не в той последовательности.

Задания для закрепления из источника

1

Задание 1

Подключиться к учебной базе по строке из источника.

2

Задание 2

Найти фильмы с tomatoes.viewer.rating > 4.5 и отсортировать по дате выпуска.

3

Задание 3

Для Drama из USA вывести plot, runtime и title, затем отсортировать по runtime по убыванию.

4

Задание 4

Для Drama и Fantasy из USA использовать $all и такой же Project.

5

Задание 5

Найти фильмы 1900-1910 с imdb.rating не ниже порога из источника и awards.

6

Задание 6

Не показывать _id и отсортировать по imdb.rating по возрастанию.

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

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

Вопрос 1

Для чего нужен $all?

Вопрос 2

Что делает $exists: true?

Вопрос 3

Как обратиться к вложенному рейтингу Rotten Tomatoes?

Вопрос 4

Как выбрать Drama и Fantasy одновременно?

Вопрос 5

Где в Compass задают поля вывода?

Вопрос 6

Что показывает план выполнения запроса?

Вопрос 7

Зачем нужна история запросов?