Решение Создание
use ich_edit
db.createCollection("users_NAME")
NAME нужен для уникальности коллекции.
Занятие 61 впервые переводит работу из режима чтения в режим редактирования.
Редактировать нужно в базе ich_edit, потому что у учебного пользователя права на изменение ограничены этой базой.
Коллекция создаётся через db.createCollection(), а несколько документов вставляются через insertMany([...]).
В Compass при вставке нескольких документов берётся содержимое квадратных скобок из insertMany.
Фильтры find() закрепляются на собственной коллекции users_NAME.
deleteMany() удаляет множество документов по фильтру.
updateMany() меняет множество документов; $inc увеличивает числовое поле.
Топ-3 ошибки: забыть заменить NAME, вставить объект вместо массива при нескольких документах, выполнить deleteMany() без фильтра.
use ich_edit
db.createCollection("users_NAME")
NAME нужен для уникальности коллекции.
db.users_NAME.insertMany([{ id: 1, name: "Анатолий", age: 28, gender: "m" }, { id: 2, name: "Светлана", age: 25, gender: "f" }, { id: 3, name: "Никита", age: 33, gender: "m" }, { id: 4, name: "Ольга", age: 22, gender: "f" }])
Квадратные скобки означают массив документов.
db.users_NAME.find({ gender: "f" })
Фильтр по точному значению поля gender.
db.users_NAME.find({ $or: [{ gender: "f" }, { age: { $gt: 30 } }] })
$or возвращает Светлану, Ольгу и Никиту.
db.users_NAME.find({ name: { $in: ["Анатолий", "Дмитрий", "Ольга", "Семен"] } })
$in проверяет попадание имени в список.
db.users_NAME.find({ id: 3 })
id в учебных документах хранится числом.
db.users_NAME.find({ age: { $gte: 30, $lte: 40 } })
Оба условия диапазона записаны внутри одного поля.
db.users_NAME.deleteMany({ gender: "m" })
Удаляются все документы с gender m.
db.users_NAME.updateMany({ age: { $exists: true } }, { $inc: { age: 3 } })
$inc прибавляет 3 к age.
{ sort: { year: 1 }, project: { _id: 0, title: 1, year: 1 } }
В Compass это настройки сортировки и проекции перед экспортом.