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

🔖 Справочник

📁 Блок: MongoDB / CAP, ACID и практические задачи ⏱️ Время изучения: ~90 мин 🎯 Сложность: Продвинутая

⚡ Кратко: суть занятия

CAP-теорема описывает ограничения распределённых систем данных.

Consistency: все узлы видят одинаковые данные в одинаковый момент времени.

Availability: отказ узлов не мешает системе отвечать на запросы.

Partition Tolerance: система продолжает работать при разделении сети.

В распределённой системе можно гарантировать только два свойства из трёх.

ACID описывает надёжность транзакций: Atomicity, Consistency, Isolation, Durability.

Практика закрепляет aggregation на trips, companies, shipwrecks и restaurants.

Домашка 18: средняя цена на Гавайях и фильмы с imdb > 8 за 2015–2023 годы.

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

$match

Ограничивает документы перед группировкой или сортировкой.

{ $match: { year: { $gte: 2015, $lte: 2023 } } }

$group

Группирует документы и считает агрегаты.

{ $group: { _id: null, avgPrice: { $avg: "$price" } } }

$sort

Сортирует документы или группы.

{ $sort: { "imdb.rating": -1 } }

$limit

Оставляет верхнюю запись после сортировки.

{ $limit: 1 }

$geoWithin

Фильтрует документы внутри географической области.

{ coordinates: { $geoWithin: { $geometry: { type: 'Polygon', coordinates: [...] } } } }

countDocuments()

Считает документы по фильтру.

db.movies.countDocuments({ "imdb.rating": { $gt: 8 }, year: { $gte: 2015, $lte: 2023 } })

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

Локальный каталог MongoDB: справочник MongoDB. SQL-операторы предыдущих блоков: справочник SQL.