Overview
En esta gu铆a, puede aprender a especificar criterios de clasificaci贸n para sus consultas utilizando generadores en el controlador 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
Hora m谩s temprana del d铆a a hora m谩s tard铆a del d铆a
Orden alfab茅tico por nombre
Los constructores son clases proporcionadas por el controlador Java de MongoDB que lo 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 muestra 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 clase Sorts
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:
Ascendente
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" } ...
Descendente
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" } ...
Combinaci贸n de criterios de ordenaci贸n
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 de la colecci贸n de muestra en orden descendente en el letter campo y, en caso de empate, en orden ascendente en el _id campo:
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" }
Puntuaci贸n del texto
Puede ordenar los resultados de una consulta de texto por su puntuaci贸n, un valor que indica la coincidencia de un resultado con su cadena de b煤squeda. Para especificar una ordenaci贸n por la puntuaci贸n de una consulta de texto, utilice el Sorts.metaTextScore() m茅todo de f谩brica est谩tico. Para ver un ejemplo detallado de c贸mo especificar criterios de ordenaci贸n con el Sorts.metaTextScore() m茅todo, consulte la secci贸n sobre consultas 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 .