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

🔖 Справочник

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

Команды и операторы занятия

pip install pymongo

Установка Python-драйвера MongoDB.

pip install pymongo

MongoClient

Создание подключения.

client = MongoClient("mongodb://USER:PASSWORD@HOST:27017/?authSource=ich")

db и collection

Выбор базы и коллекции.

db = client["ich"]
collection = db["Spotify_Youtube"]

find

Получить документы коллекции.

collection.find({"Artist": "Gorillaz"})

insert_one

Добавить документ в коллекцию с правами записи.

collection.insert_one({"title": "Sergeants 3", "year": 1966})

$regex

Текстовый поиск.

{ "Description": { "$regex": "hot", "$options": "i" } }

$facet

Несколько агрегаций за один pipeline.

{ $facet: { AlbumTypes: [ { $sortByCount: "$Album_type" } ], avgEnergy: [ { $group: { _id: "$Album_type", avgEnergy: { $avg: "$Energy" } } } ] } }

Справочники курса

SQL: справочник SQL. MongoDB: справочник MongoDB.