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
Was this helpful?