Сортировка документов по одному полю
На этом шаге вы научитесь сортировать документы в коллекции MongoDB. Сортировка позволяет упорядочивать результаты запроса в определенном порядке, что крайне важно для анализа и представления данных. Ваша среда была предварительно настроена с базой данных bookstore, содержащей коллекцию books.
Сначала откройте оболочку MongoDB для взаимодействия с базой данных. В терминале выполните следующую команду:
mongosh
Находясь в оболочке, переключитесь на базу данных bookstore.
use bookstore
Чтобы увидеть документы в коллекции books, вы можете использовать метод find().
db.books.find();
Теперь давайте отсортируем эти документы. Чтобы отсортировать по одному полю, вы добавляете метод .sort() к запросу find(). Метод sort() принимает объект, указывающий поле для сортировки и направление: 1 для возрастания и -1 для убывания.
Отсортируем книги по количеству страниц в порядке возрастания (от наименьшего к наибольшему количеству страниц).
db.books.find().sort({ pages: 1 });
Вы увидите книгу с наименьшим количеством страниц, "Python Basics", перечисленную первой.
[
{
_id: ObjectId('...'),
title: 'Python Basics',
pages: 250,
price: 29.99
},
{
_id: ObjectId('...'),
title: 'MongoDB Fundamentals',
pages: 300,
price: 34.99
},
...
]
Далее отсортируем книги по цене в порядке убывания, чтобы сначала увидеть самые дорогие.
db.books.find().sort({ price: -1 });
Эта команда отобразит "Data Science" вверху, так как у нее самая высокая цена.
[
{
_id: ObjectId('...'),
title: 'Data Science',
pages: 350,
price: 44.99
},
{
_id: ObjectId('...'),
title: 'JavaScript Advanced',
pages: 400,
price: 39.99
},
...
]