При использовании агрегации в MongoDB, сортировка полученных документов осуществляется с помощью оператора $sort
. Он позволяет указать поля, по которым требуется сортировка, а также направление сортировки - по возрастанию (1) или убыванию (-1).
Для примера, рассмотрим коллекцию orders
, которая содержит документы о заказах. Предположим, что мы хотим отсортировать заказы по дате создания в убывающем порядке.
db.orders.aggregate([ { $sort: { createdAt: -1 } } ])
В данном примере оператор $sort
применяется после предшествующих этапов агрегации (если они есть). Поле createdAt
является полем документа, по которому мы сортируем. Использование значения -1
в качестве значения сортировки означает убывающий порядок сортировки по указанному полю.
Если нам нужно сортировать по нескольким полям, мы можем передать объект с несколькими полями и значениями сортировки в оператор $sort
. Например, для сортировки по дате создания заказа и сумме заказа:
db.orders.aggregate([ { $sort: { createdAt: -1, totalAmount: 1 } } ])
В данном примере, заказы будут сначала отсортированы по убыванию даты создания (createdAt
), а затем по возрастанию суммы заказа (totalAmount
).
Это только один из примеров использования оператора $sort
в MongoDB агрегации. Оператор $sort
позволяет проводить различные сортировки в зависимости от требований вашего приложения. Обратите внимание, что порядок операторов агрегации важен, и сортировка ($sort
) должна быть проведена после всех других операторов агрегации, которые нужны вам для обработки данных.