Задание 1
В sample_airbnb.listingsAndReviews отсортировать жильё Барселоны по диапазонам цены за ночь: 0-50, 50-100, 100-1000, дороже 1000.
Первая часть практической отработки MongoDB строится вокруг aggregation pipeline.
$bucket распределяет документы по диапазонам: например цены жилья в Барселоне.
$unwind превращает каждый элемент массива reviews в отдельный документ.
$set и $unset помогают превратить вложенный объект отзыва в плоский документ.
$out записывает результат агрегации в новую коллекцию reviews.
$merge обновляет существующую коллекцию, когда нужно добавить вычисленные поля.
$map, $multiply и $sum позволяют посчитать total по массиву items в sales.
Топ-3 ошибки: забыть $match перед $bucket, использовать $out вместо $merge для обновления, неправильно обратиться к $$item внутри $map.
В sample_airbnb.listingsAndReviews отсортировать жильё Барселоны по диапазонам цены за ночь: 0-50, 50-100, 100-1000, дороже 1000.
Создать коллекцию reviews из reviews массива: один документ — один отзыв.
В sample_restaurants.restaurants выяснить диапазоны средних оценок ресторанов по группам [0, 20, 40, 60, 80, 100].
Добавить в restaurants поля avg_score и number_of_reviews.
В sample_supplies.sales добавить поле total — итоговую сумму покупки по массиву items.
Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.
Что делает $bucket?
Зачем нужен $unwind в задаче reviews?
Когда в источнике используется $out?
Почему для restaurants выбран $merge?
Какая связка считает total покупки?
Что означает $$item внутри $map?