Skip to main content

Що робить стадія $project?

Стадія $project формує нову "проєкцію" документа - тобто обирає, перейменовує чи обчислює поля, які потраплять далі в pipeline. Аналог за змістом - SELECT в SQL.

Що вона може робити

  • лишити лише потрібні поля
  • приховати зайві поля
  • створити обчислювані поля
  • перейменувати поля
  • вкласти чи розкласти дані по-іншому

Приклад

js
{ $project: { name: 1, totalPrice: { $multiply: ["$price", "$qty"] } } }

Після $project у документі лишаться лише name і нове поле totalPrice.

Ключовий сенс

$project - це стадія формування кінцевого набору полів, завдяки якій документ можна спростити, перезібрати й підготувати до наступної стадії чи фінальної відповіді.

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

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

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