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

📝 Задания

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

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

1

Задание 1

Установите pymongo и подключитесь к MongoDB из Jupyter/Colab.

2

Задание 2

Выберите базу ich и коллекцию Spotify_Youtube, выведите первые документы в pandas DataFrame.

3

Задание 3

Проверьте пример подключения к ich_edit и insert_one на тестовой коллекции.

4

Задание 4

Найдите документы Artist = Gorillaz.

5

Задание 5

Найдите треки с Danceability > 0.8 и Tempo > 130.

6

Задание 6

Найдите треки с Energy > 0.7 и Valence > 0.7.

7

Задание 7

Найдите треки Elton John с Comments > 5000.

8

Задание 8

Выполните regex-поиск Good в Title и hot/Hot/HOT в Description.

9

Задание 9

Повторите агрегации: group, project, sort, bucket и facet.

10

Задание 10

Разберите домашнее задание 20: MySQL sakila и MongoDB restaurants.

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

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

Вопрос 1

Какая библиотека используется для MongoDB из Python?

Вопрос 2

Что выбирает db = client["ich"]?

Вопрос 3

Как преобразовать find() в DataFrame?

Вопрос 4

Как найти Artist Gorillaz?

Вопрос 5

Что делает /hot/i?

Вопрос 6

Что возвращает $facet?

Вопрос 7

Что нужно использовать в ДЗ 20 для расшифровки рейтинга?

Вопрос 8

Почему GROUP BY и оконный PARTITION BY дают разный вид результата?