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

🏠 Домашнее задание

📁 Блок: 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. Повторить все фильтры занятия в Compass.
  2. Для каждого фильтра выписать, какие поля являются массивами, а какие вложенными документами.
  3. Сравнить результат $all и $in на жанрах Drama/Fantasy.

Подготовка окружения

  1. Откройте MongoDB Compass или mongosh, если работа идёт в оболочке.
  2. Проверьте выбранную базу и коллекцию перед запуском запроса.
  3. Сначала выполните фильтр без Project, чтобы увидеть реальные имена и типы полей.

Проверка результата

  • Команда или фильтр запускается без синтаксической ошибки.
  • Использованы именно те коллекции, которые названы в задании.
  • Для вложенных полей применяется точечная нотация, а для массивов — подходящий оператор.
Проверить по документации. Если интерфейс Compass или структура sample data отличается от источника, сверяйте поля по документам коллекции и официальной документации MongoDB.