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

✅ Решения

📁 Блок: 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.

Решения и разбор шагов

pymongo

pip install pymongo, затем from pymongo import MongoClient.

DataFrame

data = list(collection.find()); df = pd.DataFrame(data).

Редактирование

Для insert_one используйте подключение к ich_edit и личную/тестовую коллекцию.

Gorillaz

{ Artist: "Gorillaz" }.

Диапазоны

{ Danceability: { $gt: 0.8 } } и { Tempo: { $gt: 130 } }.

Energy/Valence

$and с двумя условиями $gt: 0.7.

Elton John

{ $and: [ { Artist: "Elton John" }, { Comments: { $gt: 5000 } } ] }.

Regex

/Good/ для регистрозависимого поиска, /hot/i для регистронезависимого, $in или $all для нескольких паттернов.

Facet

AlbumTypes можно получить через $sortByCount, avgEnergy — через $group по Album_type.

ДЗ 20

В SQL используйте CASE, GROUP BY, оконные функции и JOIN payment/customer; в MongoDB — regex pizza по Staten Island и avg grades.score.