Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

733
Vistas
Spring data mongodb ordenar en múltiples campos

Quiero ordenar varios campos en MongoDB usando Spring data para MongoDB. Actualmente estoy tratando de lograr esto usando la agregación:

 Aggregation agg = newAggregation( match(Criteria.where("userId").is(userId)), sort(Sort.Direction.DESC, "type", "createdDate"), ); AggregationResults<MyBean> results = mongoOperations.aggregate(agg, MyBean.class, MyBean.class);

Cuando estoy haciendo esto, está ordenando el type y la fecha de createdDate en el orden DESC . Pero quiero DESC en type y ASC en createdDate .

Lo intenté,

 sort(Sort.Direction.DESC, "type"); sort(Sort.Direction.ASC, "createdDate");

pero esto está ordenando solo en createdDate .

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Puedes probar algo como esto.

 Aggregation agg = newAggregation( match(Criteria.where("userId").is(userId)), sort(Sort.Direction.DESC, "type").and(Sort.Direction.ASC, "createdDate") );
over 4 years ago · Santiago Trujillo Denunciar

0

Un poco tarde, pero para otras personas... Prueba esto (para datos de primavera):

 private static final Sort NOTE_SORT = new Sort(new Sort.Order(Sort.Direction.ASC, "seen"), new Sort.Order(Sort.Direction.DESC, "date"), new Sort.Order(Sort.Direction.ASC, "done"));
over 4 years ago · Santiago Trujillo Denunciar

0

Puede crear una lista de pedidos y usarla para ordenar como esta

 List<Order> orders = new ArrayList<>(); orderQuery.add(new Order(Direction.DESC, "createdDate")); Sort sorts = new Sort(orders.toArray(new Order[orders.size()])); Aggregation agg = newAggregation( match(Criteria.where("userId").is(userId)), sort(sorts) );
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda