Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Clasificadores desarrolladores

En esta guía, puedes aprender cómo especificar criterios de ordenación para tus queries mediante el uso de desarrolladores en el driver Java de MongoDB.

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 desarrolladores son clases proporcionadas por el driver Java de MongoDB que te ayudan a construir BSON objects. Para obtener más información, consulte nuestra guía sobre desarrolladores.

Debes leer esta guía si deseas utilizar desarrolladores para especificar criterios de ordenación en tus queries.

Si deseas aprender los fundamentos de la ordenación en el driver Java de MongoDB, considera leer nuestra guía sobre ordenación.

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 la clase es un builder que ofrece métodos de fábrica estáticos para todos los operadores de criterios de ordenación admitidos por MongoDB. Estos métodos devuelven un objeto Bson que puedes pasar al método sort() de una instancia FindIterable o a Aggregates.sort(). Si desea obtener más información sobre la clase Aggregates, consulte nuestra guía sobre el 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:

  • Ordena

  • BSON

  • FindIterable

  • Agregados

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:

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

La salida del ejemplo anterior se asemeja a lo siguiente:

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

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

El ejemplo anterior debe producir una salida similar a esta:

{ "_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 letter, y en caso de empate, en orden ascendente en el 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);

La salida del ejemplo anterior se asemeja a lo siguiente:

{ "_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 la text query por su puntuación de texto, un valor que indica la cercanía de un resultado de búsqueda con tu search string. Para especificar un ordenamiento por el puntaje de texto de una consulta de texto, utilice el método de fábrica estático Sorts.metaTextScore(). Para obtener un ejemplo detallado que muestre cómo especificar criterios de ordenación usando el método Sorts.metaTextScore(), consulte la sección de query de texto de nuestra guía de fundamentos de ordenación.

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

Volver

Proyección

En esta página