Секреты в notebook
Симптом: URI с логином и паролем попадает в публичный репозиторий.
Исправление: Перед публикацией замените секреты на переменные окружения или placeholders.
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.
Симптом: URI с логином и паролем попадает в публичный репозиторий.
Исправление: Перед публикацией замените секреты на переменные окружения или placeholders.
Симптом: DataFrame получает cursor вместо данных.
Исправление: Используйте list(collection.find()).
Симптом: Операция записи падает по правам.
Исправление: Для записи используйте ich_edit, как в источнике.
Симптом: Не находятся Hot и HOT.
Исправление: Добавьте флаг i или $options: "i".
Симптом: Код обращается к результату как к обычному списку строк.
Исправление: $facet возвращает один документ с массивами по каждому имени facet.