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

🔖 Справочник

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

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

Занятие 57 показывает, чем MongoDB Compass помогает при формировании выборки.

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

Источник отдельно упоминает план выполнения запроса и валидацию документов через $jsonSchema.

$all выбирает документы, где массив содержит все указанные элементы.

$exists проверяет наличие поля, включая случай, когда значение равно null.

$in выбирает документы, где поле равно одному из значений массива.

Практика строится на фильмах: рейтинг Rotten Tomatoes, жанры Drama/Fantasy, страны, Project и Sort.

Топ-3 ошибки: использовать $in вместо $all для нескольких жанров, забыть точечную нотацию tomatoes.viewer.rating, сортировать released не в той последовательности.

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

$all

Все перечисленные значения должны быть в массиве поля.

{ genres: { $all: ["Drama", "Fantasy"] } }

$exists

Проверяет наличие или отсутствие поля.

{ awards: { $exists: true } }

$in

Поле равно одному из значений списка.

{ year: { $in: ["1900", "1901", "1902"] } }

Точечная нотация

Обращение к вложенному полю.

{ "tomatoes.viewer.rating": { $gt: 4.5 } }

$jsonSchema

Схема валидации документов.

{ $jsonSchema: { required: ["vendor"] } }

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

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