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

📝 Задания

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

Задания из источника

1

Задание 1

Создать users_<name> из 4 документов источника.

2

Задание 2

Добавить к age каждого пользователя 3 года через $inc.

3

Задание 3

В movies выбрать title и year, отсортировать по year и скрыть _id.

4

Задание 4

Создать orders_<name> с 6 покупками из домашнего задания.

5

Задание 5

Посчитать все покупки и покупки Apple.

6

Задание 6

Вывести id трёх самых дорогих покупок.

7

Задание 7

Посчитать покупки Apple в Berlin и Madrid.

8

Задание 8

Найти сумму покупок по каждому customer.

9

Задание 9

Найти города, где покупала Olga.

Проверка понимания

Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.

Вопрос 1

Какая команда увеличивает age на 3 у всех users?

Вопрос 2

Как скрыть _id в projection?

Вопрос 3

Чем countDocuments({ product: "Apple" }) полезен?

Вопрос 4

Как получить три самые дорогие покупки?

Вопрос 5

Что делает $in?

Вопрос 6

Где считать total по customer?

Вопрос 7

Почему $match по Olga должен идти до $group по city?

Вопрос 8

Что повторяет Summary 16?