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

⚠️ Ошибки

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

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

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

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

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

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

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

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

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

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

Типичные ошибки

Не та база

Если не выполнить use ich_edit, команда может уйти в другую базу или завершиться ошибкой прав.

NAME не заменён

users_NAME из примера надо заменить на собственное имя, иначе студенты будут работать в одной коллекции.

insertMany без массива

Несколько документов вставляются массивом. В Compass тоже нужны квадратные скобки.

deleteMany без фильтра

Пустой фильтр удалит все документы коллекции. Перед удалением проверьте фильтр через find().

$inc по строке

$inc работает с числовым полем. Если age сохранён строкой, обновление не сработает корректно.