Чтобы получить документ сотрудника с самой высокой зарплатой, ты объединяешь три метода в цепочку на коллекции.
db.employees.find().sort({ salary: -1 }).limit(1)
Запрос состоит из трёх ключевых операций:
find() — извлекает все документы из коллекции employeessort({ salary: -1 }) — сортирует результаты по полю salary в порядке убывания (-1 означает от высшего к низшему)limit(1) — возвращает только первый документ после сортировки, то есть самого высокооплачиваемого сотрудникаБлагодаря сортировке в порядке убывания перед применением limit, MongoDB гарантирует, что наибольшее значение зарплаты окажется первым. limit(1) затем отбрасывает все остальные документы и возвращает ровно один результат.
На больших коллекциях этот запрос работает значительно быстрее, если на поле salary есть индекс:
db.employees.createIndex({ salary: -1 })
Это позволяет MongoDB избежать полного сканирования коллекции, что делает запрос намного быстрее и эффективнее в продакшене.
Значение -1 в sort({ salary: -1 }) упорядочивает документы от самой низкой к самой высокой зарплате.
Новый — ещё не проверен сообществом
Вы