Busquedas con Helpers

Los Helpers tomados del concepto en MongoDB, permiten aplicar filtros a las búsquedas basados en predicados, lo que amplia las posibilidades de hacer consultas de todo tipo.

Sintaxis:

Método

Base datos NoSQL

public List<T> helpers(String predicate, String key, Object value, Document... docSort)

MongoDB

public List<T> helpersPagination(String predicate, String key, Object value, Integer pageNumber, Integer rowsForPage, Document... docSort)

public List<T> findHelperSort(String predicate, Document doc, String key, String value)

public List<T> findHelperSortPagination(String predicate, Document doc, String key, String value, Integer pageNumber, Integer rowsForPage)

Parámetros:

  • Object key: es la clave

  • String value: El valor a buscar

  • Document... doctSort es el documento de ordenación que es opcional

Predicados Igualdad

Predicado

Descripción

eq

igual

lt

menor

gt

mayor

Predicados de Ordenación

Predicado

Descripción

ascending

ascendente

descending

descendente

Predicados Lógicos

Predicado

Descripción

and

y

or

o

Ejemplos:

Predicados de igualdad

  • Busca que sean iguales Se puede ordenar el resultado

list = paisesRepository.helpers("eq","pais","panama")
  • Buscar documento embebido

list = paisesRepository.helpers("eq","provincias.provincia","Los Santos")
  • Busca la población menor de 200 ordenado por País

list = paisesRepository.helpers("lt","poblacion", "200",new Document("pais",1));

Predicados de ordenación

  • Busca y ordena ascendente

list = paisesRepository.findHelperSort("ascending",new Document("pais","panama"),"idpais","pa");
  • Busca y ordena descendente

list = paisesReository.findHelperSort("descending",new Document("pais","panama"),"idpais","pa");

Predicados Lógicos

  • AND Busca el país con idpais = cu y el idcontiente = am sin ordenar

list =paisesRepository.findBy(new Document("idpais", "cu").append("continentes.idcontinente","am") );
  • OR idpais igual a cu o idcontinente igual a 5 ordenado por pais

list = paisesRepository.findBy(new Document( new Document("$or", asList(new Document("idpais", "cu"),    
new Document("continentes.idcontinente", "am")))), new Document(“pais”,1));

Last updated