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

📝 Задания

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

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

Занятие 58 переносит фильтры из Compass в mongosh.

Базовая команда выборки — db.collection.find(), а условие передаётся первым аргументом.

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

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

Диапазон можно записать через $and или короче в одном объекте поля: { age: { $gte: 22, $lte: 30 } }.

countDocuments() считает документы по фильтру.

limit(), skip() и sort() управляют размером страницы, пропуском документов и порядком результата.

Топ-3 ошибки: пропустить точку в цепочке find().skip(), использовать $not вместо простого $ne без причины, сортировать после limit в неправильной логике задачи.

Задания для закрепления из источника

1

Задание 1

В mongosh вернуть пользователей age >= 30.

2

Задание 2

Вернуть пользователей age < 30.

3

Задание 3

Вернуть пользователей, чей возраст равен 22 или 32.

4

Задание 4

Вернуть всех customers, у которых CustomerID не ANTON.

5

Задание 5

Подсчитать количество таких customers.

6

Задание 6

Записать диапазон age 22-30 через $and и короткой формой.

7

Задание 7

Вернуть документы, где education равен " Bachelors" или age <= 30.

8

Задание 8

Показать первые три документа после пропуска первых трёх и отсортировать пользователей по age.

Проверка понимания

Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.

Вопрос 1

Какая команда выбирает документы в mongosh?

Вопрос 2

Как записать age >= 30?

Вопрос 3

Как выбрать возраст 22 или 32?

Вопрос 4

Что делает countDocuments()?

Вопрос 5

Какой оператор требует выполнения обоих условий?

Вопрос 6

Что делает skip(3)?

Вопрос 7

Как отсортировать age по возрастанию?