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

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

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

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

Revision 2 повторяет подключение MongoDB из Python и запросы к ich.Spotify_Youtube.

В Python используется pymongo: MongoClient, выбор базы, выбор коллекции, find, list(...), DataFrame и close.

Источник показывает read-only подключение к ich и пример подключения с правами редактирования к ich_edit.

Повторение MongoDB включает равенство по Artist, диапазоны Danceability/Tempo, логические $and, regex и $in/$all.

Aggregation-повторение перечисляет $match, $group, $project, $sort, $limit, $unwind, $lookup, $out, $geoNear, $bucket, $merge, $sample и $facet.

Фасетирование возвращает несколько независимых результатов, например AlbumTypes и avgEnergy.

Домашка 20 объединяет MySQL sakila и MongoDB restaurants.

Топ-3 ошибки: публиковать реальные пароли, путать regex /hot/ и /hot/i, забыть закрыть MongoClient.

Домашнее задание и закрепление

  • Домашнее задание 20 из LMS содержит две части: MySQL и MongoDB.
  • MySQL: работаем с sakila. Вывести названия фильмов с расшифровкой рейтинга через CASE; описание рейтингов дано по ссылке в LMS.
  • Вывести количество фильмов в каждой категории рейтинга через GROUP BY.
  • Используя оконные функции и PARTITION BY, вывести названия фильмов, рейтинг и количество фильмов в каждом рейтинге. Объяснить отличие от GROUP BY-запроса.
  • Изучить payment и customer. Вывести все платежи с именем, фамилией, датой платежа и суммой.
  • Изменить запрос по платежам так, чтобы дата выводилась в формате “число, название месяца, год” без времени.
  • MongoDB: работаем с sample_data.restaurants по URI из LMS. Найти рестораны на Staten Island, в названии которых есть pizza/Pizza/PIZZA.
  • Вывести названия 5 лучших ресторанов по среднему значению отзывов $avg: "$grades.score".

Проверка перед сдачей

  • Запросы запускаются без синтаксических ошибок.
  • В ответе указаны база, коллекция или таблицы, с которыми выполнялась работа.
  • Для сортировок и топов явно указаны поле и направление сортировки.
  • Для создаваемых коллекций используется личный суффикс, если источник требует уникальность.
  • Пароли и реальные URI перед публикацией заменены на placeholders или переменные окружения.