Skip to main content

Що означає "aggregation pipeline"?

Aggregation pipeline - це конвеєр обробки даних у MongoDB, де документи проходять через послідовність стадій, і кожна стадія крок за кроком перетворює дані: фільтрує, сортує, групує, проєктує тощо.

Ключові ідеї

  1. Pipeline = ланцюжок стадій Дані йдуть згори вниз, як по трубах. Результат однієї стадії - вхід для наступної.
  2. Кожна стадія виконує одну зрозумілу дію Наприклад:
  • $match - фільтр
  • $group - групування й агрегати
  • $sort - сортування
  • $project - вибір і зміна полів
  1. Усе відбувається на стороні MongoDB Тобто ти не витягуєш багато даних у код, а обробляєш їх прямо в БД - швидше й ефективніше.

Приклад

js
db.orders.aggregate([ { $match: { status: "paid" } }, { $group: { _id: "$user_id", total: { $sum: "$amount" } } }, { $sort: { total: -1 } } ]);
  • спершу фільтр за status
  • потім підрахунок суми за користувачем
  • потім сортування за сумою

Підсумок

Aggregation pipeline - це механізм, де дані проходять через ланцюжок стадій, послідовно трансформуються й дають готовий аналітичний результат в одному запиті.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.