Практикум 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, которые источник упоминает обзорно, проверяйте по официальной документации перед применением в рабочем проекте.