Resultados da consulta de classificação do MongoDB

Resultados Da Consulta De Classificacao Do Mongodb



Quase todos os sistemas de banco de dados priorizam a classificação dos dados antes de serem recuperados, o que os diferencia de outros métodos de armazenamento de dados. O MongoDB também tem várias maneiras de determinar como classificar os dados. Principalmente, usamos o método sort() para determinar a sequência na qual o documento aparece. A ordem da sequência é passada como parâmetro para o método sort(). Um ou mais campos que compõem o método sort() são frequentemente seguidos por um valor “1” ou “-1”. O método sort() torna uma consulta mais legível, o que melhora a compreensão de uma coleção especificada.

Como o MongoDB classifica os resultados da consulta?

O método sort considera o campo e seu valor associado como um único parâmetro. O método sort aceita parâmetros no formato JSON como {Field: Value}. Os vários campos e valores também podem ser inseridos no método sort() para obter os documentos classificados da coleção. Considere o seguinte documento no qual inserimos muitos outros documentos em nosso banco de dados. O nome desse banco de dados MongoDB é intitulado “Empregados”. A coleção “Empregados” possui todas as informações dos funcionários abaixo.

db.Employees.insertMany([
{
'nome': 'Roberto',
'DOB': '14-05-1993',
'género masculino',
'o email': ' [e-mail protegido] ',
'departamento': 'Segurança',
'salário': 5000
},
{
'nome': 'kyle',
'DOB': '31-05-1999',
'Sexo: Feminino',
'o email': ' [e-mail protegido] ',
'departamento': 'TI',
'salário': 6200
},
{
'nome': 'Mateus',
'DOB': '26-04-1993',
'género masculino',
'o email': ' [e-mail protegido] ',
'departamento': 'Contas',
'salário': 3500
},
{
'nome': 'Kevin',
'DOB': '14-07-1991',
'género masculino',
'o email': ' [e-mail protegido] ',
'departamento': 'Segurança',
'salário': 4500
},

{
'nome': 'Júlia',
'DOB': '09-12-2000',
'Sexo: Feminino',
'o email': ' [e-mail protegido] ',
'departamento': 'TI',
'salário': 2500
}
])

A coleção “Empregado” é inserida com os documentos fornecidos cuja confirmação é mostrada na saída a seguir. Vamos usar este documento de coleta para mostrar a funcionalidade dos resultados da consulta de classificação.









Exemplo # 1: Coleção não classificada do MongoDB

Quando a consulta de pesquisa é executada com o método find(), ela sempre fornece uma coleção não classificada de documentos. Isso pode ficar mais claro com os resultados da consulta fornecidos abaixo.



>db.Employees.find({},{_id:0})

Aqui, temos uma consulta da coleção “Employee” com o método find(). O método find() pega o parâmetro vazio junto com o “_id:0”. Para um resultado mais simples, o ID do documento é removido usando o operador “_id:0”. Por padrão, obtemos coleções não classificadas quando a consulta é pesquisada com o método find(). A saída recuperada abaixo são todos os documentos não classificados da maneira que temos no momento da inserção.





Exemplo # 2: resultados da consulta de classificação do MongoDB em ordem crescente

A coleção classificada no MongoDB é obtida usando o método sort() que deve ser colocado após o método find(). O método sort() no MongoDB pega o parâmetro que está incluído no nome do campo e na ordem de classificação do documento. Precisamos inserir “1” como parâmetro no campo, pois recuperaremos os documentos em ordem crescente neste exemplo específico. O seguinte na consulta de classificação resulta em ordem crescente.



>db.Employees.find().sort({name:1})

Aqui, usamos o método sort() após a consulta de pesquisa de localização. O método sort() é usado para classificar o campo “nome” em ordem crescente, pois o valor “1” é colocado ao lado do campo especificado. Observe que, se o método sort() não for especificado com nenhum valor paramétrico, a coleção não será classificada. A saída do método sort() será obtida na ordem padrão. Os resultados do método sort() pelo campo de nome em ordem crescente são exibidos no seguinte shell do MongoDB.

Exemplo # 3: resultados da consulta de classificação do MongoDB em ordem decrescente

Agora, estamos mostrando os resultados da consulta de classificação do MongoDB em ordem decrescente. Esse tipo de consulta é igual ao exemplo acima, mas com uma diferença. Para ordem decrescente, o método sort() assume o valor “-1” em relação ao nome da coluna. Os resultados da consulta de classificação em ordem decrescente são fornecidos abaixo.

>db.Employees.find({},{'email':1,_id:0}).sort({'email':-1})

Aqui, a consulta de pesquisa começa com o método find() que encontra o campo “email” e retorna apenas os valores do campo “email”. Em seguida, especificamos o método sort() que é usado para classificar o campo “email”, e o valor “-1” próximo a ele indica que os resultados da classificação obtidos serão em ordem decrescente. Os resultados da consulta de classificação de ordem decrescente são buscados após sua execução no shell do MongoDB.

Exemplo # 4: resultados da consulta de classificação do MongoDB para vários campos

Podemos classificar os vários campos no MongoDB com o método sort(). Os campos a serem ordenados devem ser declarados no método sort(). A classificação é baseada na ordem de declaração dos campos e a ordem de classificação é examinada da esquerda para a direita. A consulta para classificar os vários campos deve ter esta aparência:

>db.Employees.find({},{_id:0}).sort({'nome':1,'salário':1})

Aqui, o método sort() é passado com os campos “nome” e “salário” a serem classificados. O campo “name” da coleção “Employee” é classificado primeiro porque é o primeiro campo de argumento do método sort(). Em seguida, o método sort() classifica o segundo campo de argumento “salário”. A ordem de ambos os campos é “1”, o que indica que a classificação será em ordem crescente. A saída para vários campos da consulta de classificação é gerada na ordem de classificação especificada abaixo.

Exemplo # 5: resultados da consulta de classificação do MongoDB com método de limite

Além disso, o método sort() também pode ser combinado com o método limit(), que fornece os números limitados de documentos classificados por essa consulta de pesquisa. O método limit() requer um inteiro como parâmetro, que limita o número de documentos que devem ser incluídos no conjunto de saída. A consulta de pesquisa é definida abaixo da qual primeiro classifica o documento e, em seguida, fornece os documentos limite especificados.

>db.Employees.find({},{_id:0}).sort({'department':1,'DOB':1}).limit(4).pretty()

Aqui, temos a consulta de pesquisa que inicia a operação de classificação para a coluna “departamento” e depois para a coluna “DOB” em ordem crescente usando o método sort(). Depois que a classificação é concluída, colocamos o método limit() próximo a ele para recuperar o documento limitado. O método limit() recebe um valor numérico “4”, o que significa que ele exibe apenas quatro documentos classificados na saída, conforme mostrado na tela a seguir:

Exemplo # 6: resultados da consulta de classificação do MongoDB com agregação $sort

Em todos os exemplos acima, realizamos a classificação por meio do método sort() do MongoDB. Existe outra forma de classificação no MongoDB que é realizada por meio da agregação $sort. O operador $sort classifica todos os documentos de entrada que retornam os documentos classificados para o pipeline. O operador $sort é aplicado à coleção “Employees” abaixo.

db.Employees.aggregate([ { $sort : { salario : 1, _id: -1 } } ])

Aqui, chamamos o método agregado dentro do qual podemos utilizar o operador “$sort”. Então, temos a expressão do operador $sort que classifica a coluna “salário” em ordem crescente e a coluna “id” em ordem decrescente. A agregação $sort aplicada no campo gera os seguintes resultados:

Exemplo # 6: resultados da consulta de classificação do MongoDB com o método Skip

O método sort() também pode ser emparelhado com o método skip(). O conjunto de dados resultante pode ter um certo número de documentos que serão ignorados usando o método skip(). Assim como o método limit(), o método skip() também aceita o valor numérico que indica o número de documentos a serem ignorados. Combinamos o método sort() com o método skip() na consulta de classificação.

>db.Employees.find({},{_id:0}).sort({'salário':1}).skip(4).pretty()

Aqui, usamos o método skip() ao lado do método sort(). Quando o método sort() classifica os documentos, ele passa a saída da classificação para o método sort(). Depois disso, o método skip() removeu os quatro primeiros documentos classificados da coleção.

Conclusão

O artigo é sobre os resultados da consulta de classificação no MongoDB. Usamos o método sort() para esse propósito, que organiza os registros em uma sequência especificada. Também usamos o método sort() para classificação múltipla em vários campos. O método sort() é então emparelhado com os métodos limit() e skip() para os documentos classificados usando essas operações. Além disso, fornecemos a agregação $sort para os resultados da consulta de classificação no MongoDB.