Почему нужна личная копия
Источник прямо требует создать UK_used_cars в ich_edit или в своём Atlas-кластере. Это защищает исходную ich.UK_used_cars и не смешивает результаты разных студентов.
Практикум 19 работает с собственной копией коллекции UK_used_cars.
Сначала нужно экспортировать ich.UK_used_cars или импортировать JSON из GitHub в ich_edit с личным суффиксом.
Базовые задачи проверяют производителей: список марок, максимум документов и распределение по transmission.
Для среднего пробега по производителям используется $group с $avg и счётчиком документов.
mpg переводится в l/100km формулой 282.481 / mpg и сохраняется как новое поле.
$merge нужен, чтобы записать вычисленное поле обратно в существующую коллекцию.
$bucket распределяет дизельные авто по диапазонам цены до 20000, 20000-30000, 30000-40000, 40000-60000 и выше 60000.
Топ-3 ошибки: работать в общей коллекции без копии, делить mpg на 282.481 вместо обратной формулы, забыть readable labels для bucket-категорий.
Источник прямо требует создать UK_used_cars в ich_edit или в своём Atlas-кластере. Это защищает исходную ich.UK_used_cars и не смешивает результаты разных студентов.
Чтобы вывести всех автопроизводителей, достаточно сгруппировать по полю производителя или использовать distinct. В практикуме важен переход к подсчёту документов по каждой марке.
Automatic, semi-automatic и manual сравниваются как категории. $group по transmission показывает, какой тип встречается чаще.
Топ-3 производителей с наибольшим средним пробегом строится через $avg по mileage, затем $sort по среднему значению и $limit: 3. Счётчик документов помогает оценить надёжность среднего.
Формула источника: l/100km = 282.481 / mpg. Поэтому в MongoDB выражение строится через $divide: [282.481, "$mpg"].
$merge завершает pipeline и записывает результат в коллекцию. Для практикума это удобный способ добавить вычисленное поле к тем же документам.
Сначала фильтруются только diesel, затем price раскладывается по заданным границам. После этого можно отсортировать bucket-группы по количеству и определить самую популярную категорию.