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

📖 Теория

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

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

Практикум 14 закрепляет первые запросы MongoDB на учебных коллекциях sample_training и sample_restaurants.

Главная идея: сначала сузить выборку через Filter, затем отдельно решить, нужны ли Project, Sort, Limit или подсчёт.

В companies нужно найти компании, основанные с 2005 года, и разнести их по размеру штата.

Компании с number_of_employees: 0 источник рекомендует не учитывать.

Для acquisition нужно сортировать сделки по цене и выписать участников и source_url.

В trips нужно найти самую долгую аренду велосипеда и самый часто встречающийся bikeid.

В restaurants нужно посчитать рестораны по районам.

Топ-3 ошибки: считать нулевой штат как стартап, сортировать строковые деньги как числа, забывать limit(5) для топа поглощений.

Теория по источнику

Как читать практическую задачу

В MongoDB задача обычно раскладывается на четыре поля решения: Filter, Project, Sort и Limit.

Если нужно количество, используйте countDocuments() для простого условия или aggregate() с $group для распределения по категориям.

Если нужно найти максимум, надёжный первый шаг — отсортировать поле по убыванию и ограничить вывод одним документом.

Коллекция sample_training.companies

Источник просит найти компании, основанные с 2005 года, затем распределить их по размеру штата.

Поле number_of_employees равно 0 у части компаний; такие документы лучше отфильтровать, иначе они попадут в малую категорию и исказят вывод.

Для acquisition важно проверять вложенный документ: цена, валюта, покупатель, купленная компания и source_url лежат не в одном плоском поле.

Коллекции trips и restaurants

Для trips используются задачи на максимум длительности и частотность bikeid.

Для restaurants нужна группировка по району, то есть подсчёт документов для каждого borough.

Группировка через aggregate() выходит за рамки первых фильтров, поэтому в уроке она помечена как место для сверки с документацией.

Проверить по документации. Расширенные возможности MongoDB, которые источник упоминает обзорно, проверяйте по официальной документации перед применением в рабочем проекте.