Menu Docs
Página inicial do Docs
/ / /
Java síncrono
/ /

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

Os construtores são classes fornecidas pelo driver Java do MongoDB que o ajudam a construir objetosBSON do . 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, "letter": "c", "food": "coffee with milk"}
{"_id": 3, "letter": "a", "food": "maple syrup"}
{"_id": 4, "letter": "b", "food": "coffee with sugar"}
{"_id": 5, "letter": "a", "food": "milk and cookies"}
{"_id": 2, "letter": "a", "food": "donuts and coffee"}
{"_id": 6, "letter": "c", "food": "maple donut"}

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 ascendente, use o método de fábrica estático Sorts.ascending() . Passe Sorts.ascending() o nome do campo que você precisa classificar.

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 deve ser semelhante a esta:

{"_id": 1, "letter": "c", "food": "coffee with milk"}
{"_id": 2, "letter": "a", "food": "donuts and coffee"}
{"_id": 3, "letter": "a", "food": "maple syrup"}
...

Para especificar uma classificação decrescente, use o método de fábrica estático Sorts.descending() . Passe Sorts.descending() o nome do campo que você precisa classificar.

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, "letter": "c", "food": "maple donut"}
{"_id": 5, "letter": "a", "food": "milk and cookies"}
{"_id": 4, "letter": "b", "food": "coffee with sugar"}
...

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("letter"), ascending("_id"));
collection.find().sort(orderBySort);

A saída do exemplo anterior deve ser semelhante a esta:

{"_id": 1, "letter": "c", "food": "coffee with milk"}
{"_id": 6, "letter": "c", "food": "maple donut"}
{"_id": 4, "letter": "b", "food": "coffee with sugar"}
{"_id": 2, "letter": "a", "food": "donuts and coffee"}
{"_id": 3, "letter": "a", "food": "maple syrup"}
{"_id": 5, "letter": "a", "food": "milk and cookies"}

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

Construtores de projeções