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

🔖 Справочник

📁 Блок: MongoDB / Повторение / Запросы ⏱️ Время изучения: ~60 мин 🎯 Сложность: Повторение

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

Summary session 15 повторяет MongoDB Compass и запросы mongosh.

Compass помогает анализировать документы, видеть поля, координаты, историю запросов и план выполнения.

$all требует все элементы массива, $in — любое значение из списка, $exists проверяет наличие поля.

find() получает документы, а фильтр передаётся первым аргументом.

Операторы сравнения: $eq, $ne, $gt, $gte, $lt, $lte, $in.

Логические операторы: $and, $or, $nor, $not.

limit(), skip(), $slice и sort() управляют количеством, смещением, массивами и порядком.

Топ-3 ошибки: забыть, что $exists: true включает null, перепутать $not и $ne, поставить skip/limit без стабильной сортировки.

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

$jsonSchema

Описывает требования к документу при валидации.

{ $jsonSchema: { required: ["vendor"], properties: { vendor: { enum: ["car2go", "enjoy"] } } } }

$all

Массив содержит все указанные элементы.

db.imdb.find({ genres: { $all: ["Mystery", "Sci-Fi"] } })

$exists

Поле присутствует или отсутствует.

db.bookings.find({ final_fuel: { $exists: true } })

$in

Значение совпадает с любым элементом списка.

db.users.find({ numbers: { $in: [390, 754, 454] } })

find()

Извлекает документы из коллекции.

db.customers.find({ City: "Berlin" })

$or

Возвращает документы, где выполнено хотя бы одно условие.

db.users.find({ $or: [{ ticket_number: 547 }, { winner: true }] })

$not

Инвертирует условие оператора.

db.users.find({ user_id: { $not: { $mod: [5, 1] } } })

$slice

Возвращает часть массива в проекции.

db.US_Adult_Income.find({ CustomerID: "Anton" }, { languages: { $slice: 1 } })

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

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