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);
Практические задачи
Отсортируйте продукты в порядке возрастания их цены.
Отсортируйте продукты в порядке убывания их цены.