Skip to main content

ejbjmoordb 0.13

Versiòn 0.13 incluye

Documentaciòn
https://avbravo.gitbooks.io/jmoordb/content/introduccion-agregation.html
  • findBy(Bson builder, Document sort)

El método filter soporta Builder directamente.

  List<Articulo> list = articuloRepository.findBy(and(eq("activo","si"),eq("marca.idmarca",9)));
            if (list == null || list.isEmpty()) {
                System.out.println("->no hay articulos con esa condicion");
            } else {
                System.out.println("-> cantidad de articulos " + list.size());
            }


Soporte de Agregacion


Ejemplo:
Filtra por marca.idmarca = 9
  • Agrupa por el campo activo
  • Suma el campo cantidad
  • calcula el promedio del costo
  • Lo guarda en una coleccion llamada view

  • List<Bson> builder = Arrays.asList(match(eq("marca.idmarca", 9)),
    group("$activo", sum("total", "$cantidad"),
    avg("promedio", "$costo")),
    out("view"));
    List<JmoordbResult> list = articuloRepository.aggregateFromBuilder(builder);

    if (list == null || list.isEmpty()) {
    System.out.println("No hay articulos con esa condicion");
    } else {

    list.forEach((a) -> {
    System.out.println("_id " + a.get("_id") + " Total: " + a.get("total") + " Costo:" + a.get("promedio"));
    });

    }



    Comments