Menu Docs
Página inicial do Docs
/ / /
Driver de sincronização Java
/ /

Construtores de classificação

Nesta página

  • Visão geral
  • A classe Classifica
  • Ascendente
  • Descendente
  • Combinando critérios de classificação
  • Pontuação de texto

Neste guia, você pode aprender como especificar critérios de classificação para suas query usando construtores no driver Java MongoDB.

Os critérios de classificação são as regras que o MongoDB usa para classificar seus dados. Alguns exemplos de critérios de classificação são:

  • Do menor número para o maior número

  • Hora do dia mais antiga para a última hora do dia

  • Ordem alfabética pelo nome

Builders são classes fornecidas pelo driver Java do MongoDB que o ajudam a construir objetos BSON. Para saber mais, consulte nosso guia sobre construtores.

Leia este guia se quiser usar construtores para especificar critérios de classificação para suas query.

Se você quiser aprender os fundamentos da classificação no driver Java do MongoDB, considere ler nosso guia sobre classificação.

Os exemplos nesta página usam uma collection de amostra que contém os seguintes documento:

{ "_id": 1, "date": "2022-01-03", "orderTotal": 17.86, "description": "1/2 lb cream cheese and 1 dozen bagels" },
{ "_id": 2, "date": "2022-01-11", "orderTotal": 83.87, "description": "two medium strawberry birthday cakes" },
{ "_id": 3, "date": "2022-01-11", "orderTotal": 19.49, "description": "1 dozen strawberry cupcakes" },
{ "_id": 4, "date": "2022-01-15", "orderTotal": 43.62, "description": "2 chicken lunches and a diet coke" },
{ "_id": 5, "date": "2022-01-23", "orderTotal": 10.99, "description": "1 bagel, 1 orange juice, 1 muffin" },
{ "_id": 6, "date": "2022-01-23", "orderTotal": 60.31, "description": "one large strawberry and chocolate cake" }

A classe Sorts é um construtor que fornece métodos de fábrica estáticos para todos os operadores de critérios de classificação suportados pelo MongoDB. Esses métodos retornam um objeto Bson que você pode passar para o método sort() de uma instância FindIterable ou para Aggregates.sort(). Se você quiser saber mais sobre a classe Aggregates , consulte nosso guia sobre o construtor Aggregates.

Para obter mais informações sobre as classes e interfaces nesta seção, consulte a seguinte Documentação da API:

  • Tipos

  • BSON

  • FindIterable

  • Agregados

Para especificar uma classificação crescente, utilize o método de fábrica estática Sorts.ascending() . Passe Sorts.ascending() o nome do campo para ordenar.

O exemplo a seguir classifica os documentos na coleção de amostra por ordem crescente no campo _id :

import static com.mongodb.client.model.Sorts.ascending;
// <MongoCollection setup code here>
collection.find().sort(ascending("_id"));

A saída do exemplo anterior é semelhante ao seguinte:

{ "_id": 1, "date": "2022-01-03", "orderTotal": 17.86, "description": "1/2 lb cream cheese and 1 dozen bagels" }
{ "_id": 2, "date": "2022-01-11", "orderTotal": 83.87, "description": "two medium strawberry birthday cakes" }
{ "_id": 3, "date": "2022-01-11", "orderTotal": 19.49, "description": "1 dozen strawberry cupcakes" }
...

Para especificar uma classificação decrescente, use o método de fábrica estática Sorts.descending() . Passe Sorts.descending() o nome do campo para ordenar.

O exemplo a seguir classifica os documentos na coleção de amostra em ordem decrescente no campo _id :

import static com.mongodb.client.model.Sorts.descending;
// <MongoCollection setup code here>
collection.find().sort(descending("_id"));

O exemplo anterior deve produzir algo assim:

{ "_id": 6, "date": "2022-01-23", "orderTotal": 60.31, "description": "one large strawberry and chocolate cake" }
{ "_id": 5, "date": "2022-01-23", "orderTotal": 10.99, "description": "1 bagel, 1 orange juice, 1 muffin" }
{ "_id": 4, "date": "2022-01-15", "orderTotal": 43.62, "description": "2 chicken lunches and a diet coke" }
...

Para combinar critérios de classificação, use o método de fábrica estática Sorts.orderBy() . Este método constrói um objeto contendo uma lista ordenada de critérios de classificação. Ao executar a classificação, se os critérios de classificação mais à esquerda resultarem em um empate, a classificação usará o próximo critério de classificação na lista para determinar a ordem.

O exemplo a seguir classifica os documentos na coleção de amostra em ordem decrescente no campo letter e, em caso de empate, ordem crescente no campo _id :

import static com.mongodb.client.model.Sorts.orderBy;
import static com.mongodb.client.model.Sorts.ascending;
import static com.mongodb.client.model.Sorts.descending;
// <MongoCollection setup code here>
Bson orderBySort = orderBy(descending("date"), ascending("orderTotal"));
collection.find().sort(orderBySort);

A saída do exemplo anterior é semelhante ao seguinte:

{ "_id": 5, "date": "2022-01-23", "orderTotal": 10.99, "description": "1 bagel, 1 orange juice, 1 muffin" }
{ "_id": 6, "date": "2022-01-23", "orderTotal": 60.31, "description": "one large strawberry and chocolate cake" }
{ "_id": 4, "date": "2022-01-15", "orderTotal": 43.62, "description": "2 chicken lunches and a diet coke" }
{ "_id": 3, "date": "2022-01-11", "orderTotal": 19.49, "description": "1 dozen strawberry cupcakes" }
{ "_id": 2, "date": "2022-01-11", "orderTotal": 83.87, "description": "two medium strawberry birthday cakes" }
{ "_id": 1, "date": "2022-01-03", "orderTotal": 17.86, "description": "1/2 lb cream cheese and 1 dozen bagels" }

Você pode classificar os resultados da pesquisa de texto por sua pontuação de texto, um valor que indica até que ponto um resultado de pesquisa corresponde à sua string de pesquisa. Para especificar uma classificação pela pontuação de texto de uma pesquisa de texto, use o método estático de fábrica Sorts.metaTextScore() . Para obter um exemplo detalhado de como especificar critérios de classificação usando o método Sorts.metaTextScore() , consulte a seção de pesquisa de texto do nosso guia de fundamentos de classificação.

Para obter mais informações, consulte a classe Classificações Documentação da API.

Voltar

Projeção