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

🔖 Справочник

📁 Блок: 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 в неправильной логике задачи.

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

find()

Выбор документов из коллекции.

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

countDocuments()

Подсчёт документов по фильтру.

db.customers.countDocuments({ CustomerID: { $not: { $eq: "ANTON" } } })

$and

Все условия массива должны выполниться.

db.US_Adult_Income.find({ $and: [{ age: { $gte: 22 } }, { age: { $lte: 30 } }] })

$or

Достаточно одного условия.

db.US_Adult_Income.find({ $or: [{ education: " Bachelors" }, { age: { $lte: 30 } }] })

limit()/skip()

Пагинация результата.

db.US_Adult_Income.find().skip(3).limit(3)

sort()

Сортировка результата.

db.US_Adult_Income.find().sort({ age: 1 })

$slice

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

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

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

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