$match
Ограничивает документы перед группировкой или сортировкой.
{ $match: { year: { $gte: 2015, $lte: 2023 } } }
CAP-теорема описывает ограничения распределённых систем данных.
Consistency: все узлы видят одинаковые данные в одинаковый момент времени.
Availability: отказ узлов не мешает системе отвечать на запросы.
Partition Tolerance: система продолжает работать при разделении сети.
В распределённой системе можно гарантировать только два свойства из трёх.
ACID описывает надёжность транзакций: Atomicity, Consistency, Isolation, Durability.
Практика закрепляет aggregation на trips, companies, shipwrecks и restaurants.
Домашка 18: средняя цена на Гавайях и фильмы с imdb > 8 за 2015–2023 годы.
Ограничивает документы перед группировкой или сортировкой.
{ $match: { year: { $gte: 2015, $lte: 2023 } } }
Группирует документы и считает агрегаты.
{ $group: { _id: null, avgPrice: { $avg: "$price" } } }
Сортирует документы или группы.
{ $sort: { "imdb.rating": -1 } }
Оставляет верхнюю запись после сортировки.
{ $limit: 1 }
Фильтрует документы внутри географической области.
{ coordinates: { $geoWithin: { $geometry: { type: 'Polygon', coordinates: [...] } } } }
Считает документы по фильтру.
db.movies.countDocuments({ "imdb.rating": { $gt: 8 }, year: { $gte: 2015, $lte: 2023 } })
Локальный каталог MongoDB: справочник MongoDB. SQL-операторы предыдущих блоков: справочник SQL.