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

🔖 Справочник

📁 Блок: MongoDB / Повторение ⏱️ Время изучения: ~60 мин 🎯 Сложность: Повторение

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

Summary 16 повторяет создание коллекций, insertMany, удаление и редактирование документов.

Главная практическая тема недели — aggregation pipeline.

Коллекция users используется для вставки 4 документов и обновления возраста через $inc.

Коллекция movies тренирует sort и project: показать title/year и скрыть _id.

Домашнее задание orders повторяет countDocuments, sort, limit, $in и $group.

В $group можно считать сумму покупок по customer через $sum: "$amount".

Для уникальных городов Ольги сначала нужен $match по customer, затем $group по city.

Топ-3 ошибки: путать find().count() и countDocuments(), забывать _id: 0 в project, ставить $group до нужного $match.

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

insertMany()

Вставка нескольких документов.

db.orders_name.insertMany([{ id: 1, customer: "Olga", product: "Apple", amount: 15.55, city: "Berlin" }])

updateMany() + $inc

Массовое изменение числового поля.

db.users_name.updateMany({}, { $inc: { age: 3 } })

countDocuments()

Подсчёт документов по фильтру или без него.

db.orders_name.countDocuments({ product: "Apple" })

find().sort().limit()

Выборка топ-N документов.

db.orders_name.find({}, { id: 1, _id: 0 }).sort({ amount: -1 }).limit(3)

$in

Проверка значения по списку вариантов.

db.orders_name.countDocuments({ product: "Apple", city: { $in: ["Berlin", "Madrid"] } })

$group + $sum

Сумма по группе.

db.orders_name.aggregate([{ $group: { _id: "$customer", total: { $sum: "$amount" } } }])

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

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