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

⚠️ Ошибки

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

Типичные ошибки

Секреты в notebook

Симптом: URI с логином и паролем попадает в публичный репозиторий.

Исправление: Перед публикацией замените секреты на переменные окружения или placeholders.

find() напрямую в DataFrame

Симптом: DataFrame получает cursor вместо данных.

Исправление: Используйте list(collection.find()).

insert_one в read-only базе

Симптом: Операция записи падает по правам.

Исправление: Для записи используйте ich_edit, как в источнике.

Регистрозависимый regex вместо /i

Симптом: Не находятся Hot и HOT.

Исправление: Добавьте флаг i или $options: "i".

$facet ожидают как несколько документов

Симптом: Код обращается к результату как к обычному списку строк.

Исправление: $facet возвращает один документ с массивами по каждому имени facet.