Эта глава знакомит с сортировкой результатов запросов в MongoDB, аналогичной использованию оператора ORDER BY в MySQL. Постаничная навигация в MongoDB осуществляется с помощью функции sort курсора Cursor.

Подготовка тестовых данных

Вставьте несколько записей в коллекцию ресторанов

db.restaurants.insertMany( [
   { "_id" : 1, "name" : "Central Park Cafe", "borough" : "Manhattan"},
   { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "borough" : "Queens"},
   { "_id" : 3, "name" : "Empire State Pub", "borough" : "Brooklyn"},
   { "_id" : 4, "name" : "Stan's Pizzaria", "borough" : "Manhattan"},
   { "_id" : 5, "name" : "Jane's Deli", "borough" : "Brooklyn"},
] );

Сортировка результатов

db.restaurants.find({}).sort({_id:1})

Пояснение:

  • Используйте функцию sort для установки поля сортировки.
  • Запросите все данные и отсортируйте их по _id в возрастающем порядке.

Формат параметров функции sort:

<поле>: 1 или -1

Пояснение:

  • 1 представляет собой сортировку по возрастанию.
  • -1 представляет собой сортировку по убыванию.

Комбинирование с постраничной навигацией

db.restaurants.find({}).limit(2).skip(2).sort({_id:-1})

Пояснение:

  • Запросите все данные, верните не более 2 записей, пропустите 2 записи и отсортируйте их по _id в убывающем порядке.