Агрегат — это метод MongoDB, который обрабатывает данные с помощью нескольких операторов и методов. В MongoDb агрегации помогают несколько методов и операторов, которые могут выполнять разные задачи. Среди этих операторов оператор $ sort помогает сортировать документы и возвращать их в упорядоченном порядке. А для групповой сортировки в MongoDB оператор $ group используется с оператором $ sort. С помощью операторов $ group и $ sort MongoDB также может сортировать сгруппированные данные в порядке возрастания или убывания.
В этом посте мы предоставили информативное представление о функциях групповой сортировки MongoDB.
Как работает групповая сортировка в MongoDB
Метод агрегирования в MongoDB в основном используется для сопоставления и группировки данных в соответствии с синтаксисом агрегатной функции. Кроме того, сгруппированные данные можно отсортировать с помощью оператора » $ sort » в MongoDB. Сортировка может производиться в любом порядке; «По возрастанию », «по убыванию » или » textScore «. Для группы и сортировки документов применяется следующий синтаксис:
> db.collection—name.aggregate([
{«$group»: {<unique—field>: <group—order>}},
{«$sort»: {<field>: <sorting—order>}}
])
Приведенный выше синтаксис состоит из двух этапов:
— На первом этапе оператор $ group группирует данные в соответствии с < unique-field >
— На втором этапе данные сортируются в соответствии с заданным полем и . < Sorting-order > принимает значение » 1 ″ или » −1 ″ для » возрастающего » или » убывающего » порядка соответственно.
Как выполнить групповую сортировку MongoDB
Чтобы применить групповую сортировку в MongoDB; в вашей системе должны быть следующие экземпляры. Мы работаем над системой на базе Linux, и в этом руководстве используются следующие экземпляры:
– database-name: имя используемой базы данных — » linuxhint «.
– collection-name: имя коллекции, используемое в этом руководстве, называется » сотрудники «.
Документы, содержащиеся в коллекции » сотрудники «, отображаются с помощью следующей команды:
> db.employees.find().pretty()
Пример: использование $ group в MongoDB
Оператор $ group в MongoDB может использоваться для группировки данных по какому-либо полю. Что касается содержимого внутри коллекции » сотрудники «, команда, написанная ниже, группирует данные в соответствии с полем » назначение «.
> db.employees.aggregate([{$group: {_id: «$designation»}}])
Или вы также можете подсчитать количество полей в каждой группе. Скажем, мы добавляем операцию подсчета в приведенную выше команду. Итак, следующая команда является обновленной версией указанной выше команды, которая предоставляет ряд полей в группе:
Агрегатный метод может предоставлять результаты с несколькими свойствами.
Пример: использование $ sort в MongoDB
$ Sort помогает отсортировать документы в порядке возрастания и убывания. Приведенная ниже команда используется для сортировки коллекции сотрудников в порядке убывания поля Salary :
> db.employees.aggregate([{$sort: {salary: —1}}])
Пример: используйте $ group и $ sort с aggregate ()
Этот пример иллюстрирует использование $ group и $ sort в приведенных выше примерах данных. Мы выполнили указанную ниже команду MongoDB, которая выполнит следующее действие:
- Группирует данные по назначению, и для этого используется оператор $ group.
Примечание: вы можете передать значение » 1 ″ оператору сортировки $ для сортировки по возрастанию)
- Сортирует сгруппированные данные в порядке убывания
> db.employees.aggregate([{$group: {_id: «$designation»}}, {$sort: {_id: —1}}])
Пример: группировка и сортировка по количеству
MongoDB поддерживает оператор $ sortByCount, который помогает сортировать поля, вычисляя общее количество вхождений. Обработку оператора $ sortByCount можно заменить использованием операторов $ group и $ sort. Например, указанная ниже команда будет использовать оператор $ group и $ sort следующим образом:
- $ group выполняет группировку по полю » обозначение «
- $ sum суммирует количество раз, когда встречается поле » обозначение «. И значение из $ sum возвращается в поле с именем count
- Оператор $ sort используется для сортировки поля счетчика в порядке убывания
> db.employees.aggregate([{$group: {_id: «$designation», count: {$sum: 1}}}, {$sort: {count: —1}}])
Заключение
MongoDB — это хорошо известная нереляционная база данных с открытым исходным кодом, которая широко используется из-за поддерживаемых ею методов и операторов. Эти функции могут использоваться для выполнения любых операций обработки данных в базе данных MongoDB. В этом руководстве мы научились группировать и сортировать документы в коллекции баз данных на основе MongoDB. Явления группировки и сортировки поддерживаются агрегированным методом MongoDB. Следуя этому руководству, энтузиаст MongoDB может получить хорошие практические навыки группировки документов и выполнения нескольких операций с этими группами.