Docs Menu
Docs Home
/ /

Constructores de tipos

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 MongoDB utiliza para ordenar los datos. Algunos ejemplos son:

  • Del número más pequeño al número más grande

  • 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 ObjetosBSON. Para más información, consulte nuestra guía sobre constructores.

Debe leer esta guía si desea utilizar constructores para especificar criterios de clasificación para sus consultas.

Si desea aprender los conceptos básicos de la ordenación en el controlador Java de MongoDB, considere 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" }

El Sorts La clase es un generador 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 FindIterable instancia o Aggregates.sort() a. Si desea obtener más información sobre la Aggregates clase, consulte nuestra guía sobre el generador 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, utilice el método de fábrica estático Sorts.ascending(). Pase Sorts.ascending() el nombre del campo por el que se ordenará.

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

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

La salida del ejemplo anterior se parece a la 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 un orden descendente, utilice el método de fábrica estático Sorts.descending(). Pase Sorts.descending() el nombre del campo por el que se ordenará.

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

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

El ejemplo anterior debería generar algo como esto:

{ "_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 criterios de ordenación, utilice 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 situado más a la izquierda resulta en un empate, se utiliza el siguiente criterio de ordenación de 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 parece a la 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" }

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 documentación de la API de la clase Sorts.

Volver

Proyección

En esta página