Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Clasificadores desarrolladores

En esta guía, aprenderá cómo especificar criterios de ordenación para sus consultas utilizando constructores en el controlador Java Reactive Streams.

Los criterios de ordenación son las reglas que utiliza MongoDB para ordenar tus datos. Algunos ejemplos de criterios de clasificación son:

  • Del menor número al mayor número

  • Desde la hora más temprana del día hasta la hora más tardía del día

  • Orden alfabético por nombre

Los constructores son clases proporcionadas por el controlador Java Reactive Streams que te ayudan a crear objetos BSON. Para obtener más información, consulta la guía de constructores.

Tip

Para mayor brevedad, puede optar por importar todos los métodos de la clase Sorts de forma estática:

import static com.mongodb.client.model.Sorts.*;

Los siguientes ejemplos asumen esta importación estática.

Los ejemplos de esta página utilizan una colección de ejemplo que contiene los siguientes documentos:

{ "_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" }

La Sorts clase es un constructor que proporciona métodos de fábrica estáticos para todos los operadores de criterios de ordenación compatibles con MongoDB. Estos métodos devuelven un Bson objeto que se puede pasar al sort() método de una FindPublisher instancia o Aggregates.sort() a. Para obtener más información sobre la Aggregates clase, consulte la guía del constructor de agregados.

Para obtener más información sobre las clases e interfaces en esta sección, consulte la siguiente documentación de API:

Para especificar un orden ascendente, utiliza el método de la fábrica estática Sorts.ascending(). Pase Sorts.ascending() el nombre del campo por el que desea ordenar.

El siguiente ejemplo ordena los documentos de la colección de muestra de forma ascendente por el campo _id:

FindPublisher<Document> findPublisher = collection.find().sort(ascending("_id"));
Flux.from(findPublisher)
.doOnNext(doc -> System.out.println(doc.toJson()))
.blockLast();
{ "_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 una clasificación descendente, use el método de fábrica estático Sorts.descending(). Pase Sorts.descending() el nombre del campo por el que desea ordenar.

El siguiente ejemplo ordena los documentos en la Colección de muestra en orden descendente en el campo _id:

FindPublisher<Document> findPublisher = collection.find().sort(descending("_id"));
Flux.from(findPublisher)
.doOnNext(doc -> System.out.println(doc.toJson()))
.blockLast();
{ "_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 los criterios de ordenamiento, utilizar el método de fábrica estático Sorts.orderBy(). Este método construye un objeto que contiene una lista ordenada de criterios de ordenación. Al realizar la ordenación, si el criterio de ordenación más a la izquierda da lugar a un empate, la ordenación utiliza el siguiente criterio en la lista para determinar el orden.

El siguiente ejemplo ordena los documentos en la colección de muestra en orden descendente en el campo date, y en caso de empate, en orden ascendente en el campo orderTotal:

Bson orderBySort = orderBy(descending("date"), ascending("orderTotal"));
FindPublisher<Document> findPublisher = collection.find().sort(orderBySort);
Flux.from(findPublisher)
.doOnNext(doc -> System.out.println(doc.toJson()))
.blockLast();
{ "_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" }

Puedes ordenar los resultados de las query de texto por su puntuación de texto, un valor que indica qué tan estrechamente un resultado de búsqueda coincide con tu string de búsqueda. Para especificar un ordenamiento por la puntuación de texto de una query de texto, utiliza el método de fábrica estático Sorts.metaTextScore().

Para obtener más información, consulte la clase Sorts Documentación del API .