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

📝 Задания

📁 Блок: MongoDB / Коллекции / Изменение данных ⏱️ Время изучения: ~90 мин 🎯 Сложность: Средняя

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

Занятие 61 впервые переводит работу из режима чтения в режим редактирования.

Редактировать нужно в базе ich_edit, потому что у учебного пользователя права на изменение ограничены этой базой.

Коллекция создаётся через db.createCollection(), а несколько документов вставляются через insertMany([...]).

В Compass при вставке нескольких документов берётся содержимое квадратных скобок из insertMany.

Фильтры find() закрепляются на собственной коллекции users_NAME.

deleteMany() удаляет множество документов по фильтру.

updateMany() меняет множество документов; $inc увеличивает числовое поле.

Топ-3 ошибки: забыть заменить NAME, вставить объект вместо массива при нескольких документах, выполнить deleteMany() без фильтра.

Задания для закрепления из источника

1

Задание 1

Подключиться к базе ich_edit через строку подключения из источника.

2

Задание 2

Создать коллекцию users_NAME, заменив NAME на своё имя.

3

Задание 3

Вставить 4 документа с id, name, age, gender: Анатолий, Светлана, Никита, Ольга.

4

Задание 4

Найти всех представительниц женского пола.

5

Задание 5

Найти представительниц женского пола и людей старше 30 лет.

6

Задание 6

Найти пользователей, чьё имя входит в список Анатолий, Дмитрий, Ольга, Семен.

7

Задание 7

Найти пользователя с id = 3.

8

Задание 8

Найти пользователей в возрасте от 30 до 40 включительно.

9

Задание 9

Удалить всех пользователей gender = m через deleteMany().

10

Задание 10

Добавить 3 года к age каждого оставшегося документа через updateMany() и $inc.

11

Задание 11

Экспортировать из movies title и year, отсортированные по year, без _id.

12

Задание 12

Импортировать экспортированный JSON в новую коллекцию movies_NAME.

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

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

Вопрос 1

В какой базе по источнику есть права на редактирование?

Вопрос 2

Чем создать коллекцию?

Вопрос 3

Что принимает insertMany()?

Вопрос 4

Как выбрать женщин?

Вопрос 5

Что делает deleteMany(filter)?

Вопрос 6

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

Вопрос 7

Что надо сделать перед deleteMany()?