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

🔖 Справочник

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

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

Практикум 16 закрепляет создание коллекции и запросы MongoDB на небольшом наборе planets.

Коллекцию лучше назвать с личным суффиксом, чтобы не конфликтовать с работой других студентов.

Основные поля: name, orderFromSun, hasRings, surfaceTemperatureC.

Фильтры тренируют равенство, диапазоны $gte/$lte, булевы поля и комбинирование условий.

Сортировка по orderFromSun помогает быстро проверить порядок планет.

countDocuments() подходит для подсчёта документов по условию.

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

Топ-3 ошибки: записать отрицательные температуры с посторонним символом, перепутать true/false со строками, забыть обновить все планеты перед агрегацией.

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

insertMany()

Создаёт набор документов в коллекции.

db.planets_name.insertMany([
  { name: "Mercury", orderFromSun: 1, hasRings: false, surfaceTemperatureC: 67 }
])

find()

Ищет документы по фильтру.

db.planets_name.find({ name: "Mercury" })

$gte / $lte

Задают нижнюю и верхнюю границу диапазона.

db.planets_name.find({ orderFromSun: { $gte: 1, $lte: 3 } })

sort()

Сортирует результат: 1 по возрастанию, -1 по убыванию.

db.planets_name.find().sort({ orderFromSun: -1 })

countDocuments()

Считает документы, подходящие под условие.

db.planets_name.countDocuments({ surfaceTemperatureC: { $gt: 50 } })

updateOne()

Добавляет или меняет поля в одном документе.

db.planets_name.updateOne({ name: "Mars" }, { $set: { mass10e24kg: 0.642 } })

aggregate()

Запускает pipeline для группировки и ограничения результата.

db.planets_name.aggregate([
  { $group: { _id: "$hasRings", total: { $sum: 1 } } }
])

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

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