Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що робить стадія $sort?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)Стадія `$sort` сортує потік документів усередині aggregation pipeline - за одним чи кількома полями, за зростанням (`1`) чи спаданням (`-1`); за змістом аналог `ORDER BY` в SQL. **Ключове:** ефективніше за все `$sort` працює після `$match`, коли даних уже менше, оскільки в pipeline сортування частіше відбувається в оперативній пам'яті, а не через індекс.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)ЗображенняСтадія `$sort` **сортує потік документів** усередині aggregation pipeline - за одним чи кількома полями, у порядку зростання (`1`) чи спадання (`-1`). За змістом це аналог `ORDER BY` в SQL. ### Як працює - отримує документи з попередньої стадії - сортує їх у пам'яті чи з використанням тимчасового сховища - передає вже відсортований потік далі по конвеєру ### Приклад ```js { $sort: { createdAt: -1, price: 1 } } ``` Спершу сортування за `createdAt` за спаданням, а якщо значення збігаються - за `price` за зростанням. ### Важливий нюанс Найефективніше `$sort` працює після `$match` - коли даних уже менше. Якщо поля для сортування проіндексовані (у звичайному find), це пришвидшує сортування, але **в pipeline сортування частіше відбувається в оперативній пам'яті**. ### Підсумок `$sort` - стадія, яка керує порядком документів, щоб наступні етапи (чи фінальний результат) отримували дані в потрібній послідовності.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.