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

📖 Теория

📁 Блок: 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 без стабильной сортировки.

Ключевые идеи

Что повторяется

Источник возвращается к интерфейсу Compass и командам mongosh. Повторяются способы отображения коллекций, анализ документов, подсказки, история запросов, план выполнения и валидация данных через $jsonSchema.

Вторая часть повторения — операторы запроса: $all, $exists, $in, find(), сравнения, логика, limit(), skip(), $slice и sort().

Валидация данных

Пример из источника показывает $jsonSchema: поле vendor обязательно, а значение vendor допускается только из enum car2go или enjoy. Это не фильтр для обычной аналитики, а правило проверки структуры документов.

Если Compass показывает документы, не соответствующие схеме, это помогает найти грязные данные до того, как они попадут в аналитику.

Разбор закрепления

В конце занятия предложены три запроса: $or по номеру билета или winner, $in по numbers и $not с $mod. Их цель — проверить, понимает ли студент форму документа и смысл оператора, а не только запомнил название.