Сортировка данных в MongoDB

MongoDB позволяет выполнить сортировку документов при выборке. Для этого предназначен специальный метод sort. Этот метод параметром принимает объект с полями, по которым выполняется сортировка.

При этом ключами объекта будут имена полей, а значениями - числа 1 или -1. Первое значение заставляет сортировать данные по возрастанию, а второе - по убыванию. Давайте посмотрим на примерах.

Пример

Отсортируем наших юзеров по возрастанию возраста:

let res = await coll.find().sort({age: 1}).toArray(); console.log(res);

Пример

Отсортируем наших юзеров по убыванию возраста:

let res = await coll.find().sort({age: -1}).toArray(); console.log(res);

Пример

Отсортируем наших юзеров сначала по возрасту, а внутри групп с одинаковым возрастом выполним сортировку по зарплате:

let res = await coll.find().sort({age: 1, salary: -1}).toArray(); console.log(res);

Натуральная сортировка

Параметр $natural позволяет отсортировать документы в том порядке, в каком они были добавлены в коллекцию, либо в обратном порядке.

Давайте отсортируем наших юзеров в обратном порядке:

let res = await coll.find().sort({$natural: -1}).toArray(); console.log(res);

Практические задачи

Отсортируйте продукты в порядке возрастания их цены.

Отсортируйте продукты в порядке убывания их цены.