Ejemplo $group

$group: (Contar los documentos agrupados por activo)

  • Contar los artículos agrupados por $activo

Orden

Salida

db.articulo.aggregate([ {"$group": {"_id": {"_activo" : "$activo"}, "total": {"$sum": 1}}} ])

{ "_id" : { "_activo" : "si" }, "total" : 1790 } { "_id" : { "_activo" : "no" }, "total" : 2 }

  • aggregateFromDocument()/Cuenta el numero de documentos agrupado por activo

  • Lo agrupamos por activo

  • Contar los documentos y colocarlos en la variable cantidad

List<Document> documentList = Arrays.asList(

              new Document("$group",
              new Document("_id", "$" + "activo").append("cantidad", new Document("$sum", 1))));

List<JmoordbResult> list = articuloRepository.aggregateFromDocument(documentList);

            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") + " Cantidad: " + a.get("cantidad"));
                });

            }

Last updated