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

120
Vistas
Orden de consulta Ravendb por valor

Tengo objetos con campos score e id . Necesito obtener una cantidad de estos objetos de from to from + count , que se ordenan por score de campo en orden descendente. Dentro de cada rango igual, necesito obtener un objeto con un valor específico de id en la parte superior de este rango, si existe.

Ejemplo:

 1. score = 10, id = 5 2. score = 20, id = 6 3. score = 20, id = 7 4. score = 20, id = 8 5. score = 30, id = 9

id de valor específico = 7, from = 0, count = 2

Resultado Esperado:

 1. score = 30, id = 9 2. score = 20, id = 7 <--- my specific value on top of equal range, where score = 20

Escribo consulta simple:

 final List<SomeClass> players = session.query(SomeClass.class, SomeIndexClass.class) .orderByDescending("score", OrderingType.LONG) .skip(from) .take(count) .toList();

Pero esto no tiene en cuenta las condiciones con id de valor específico. ¿Cómo puedo hacerlo?

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

0

Si tiene este campo de id indexado en su índice, entonces puede agregar una condición whereGreaterThan en su consulta, para filtrar aquellas identificaciones que son mayores que '7'

Así que la consulta sería algo como:

 final List<SomeClass> players = session.query(SomeClass.class, SomeIndexClass.class) .whereGreaterThan("id", 7) .orderByDescending("score", OrderingType.LONG) .skip(from) .take(count) .toList();

Ver enlace de documentación:
https://ravendb.net/docs/article-page/5.1/java/indexes/querying/filtering#where---numeric-property

¿Es id el id del documento? porque entonces no tiene que estar indexado, debería funcionar simplemente agregando la condición 'dónde' a la consulta. Consulte: https://ravendb.net/docs/article-page/5.1/java/indexes/querying/basics#example-ii---filtering

Por cierto, consulte los ejemplos de código en https://demo.ravendb.net/
En cada muestra, haga clic en la pestaña 'Java' para ver el código Java de muestra .

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