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

🔖 Справочник

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

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

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

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

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

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

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

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

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

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

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

use

Переключение на рабочую базу.

use ich_edit

createCollection()

Создание коллекции.

db.createCollection("users_NAME")

insertMany()

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

db.users_NAME.insertMany([{ id: 1, name: "Анатолий", age: 28, gender: "m" }])

find()

Проверка созданных документов.

db.users_NAME.find({ gender: "f" })

$or

Условие «или».

db.users_NAME.find({ $or: [{ gender: "f" }, { age: { $gt: 30 } }] })

$in

Имя входит в список.

db.users_NAME.find({ name: { $in: ["Анатолий", "Дмитрий", "Ольга", "Семен"] } })

deleteMany()

Удаление множества документов.

db.users_NAME.deleteMany({ gender: "m" })

updateMany() + $inc

Увеличение age на 3.

db.users_NAME.updateMany({ age: { $exists: true } }, { $inc: { age: 3 } })

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

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