Example usage for org.springframework.data.mongodb.core.mapreduce GroupBy key

List of usage examples for org.springframework.data.mongodb.core.mapreduce GroupBy key

Introduction

In this page you can find the example usage for org.springframework.data.mongodb.core.mapreduce GroupBy key.

Prototype

public static GroupBy key(String... keys) 

Source Link

Document

Create new GroupBy with the fields to group.

Usage

From source file:br.com.ezequieljuliano.argos.persistence.LoggerDAO.java

public List<LoggerMarkerCount> groupByMarkerUsingUserAndOccurrence(User user, Date startDate, Date endDate) {
    Criteria criteria = Criteria.where("entity._id").in(findEntityObjectIdsByUser(user)).andOperator(
            Criteria.where("occurrence").lte(endDate), Criteria.where("occurrence").gte(startDate));

    GroupByResults<LoggerMarkerCount> results = getMongoOperations().group(criteria, Logger.COLLECTION_NAME,
            GroupBy.key("marker").initialDocument("{ count: 0 }")
                    .reduceFunction("function(doc, prev) { prev.count += 1 }"),
            LoggerMarkerCount.class);

    List<LoggerMarkerCount> counts = new ArrayList<LoggerMarkerCount>();
    for (LoggerMarkerCount marker : results) {
        counts.add(marker);//from   w  w w.  ja v  a2  s  . c  o  m
    }

    return counts;
}

From source file:br.com.ezequieljuliano.argos.persistence.LoggerDAO.java

public List<LoggerLevelCount> groupByLevelUsingUserAndOccurrence(User user, Date startDate, Date endDate) {
    Criteria criteria = Criteria.where("entity._id").in(findEntityObjectIdsByUser(user)).andOperator(
            Criteria.where("occurrence").lte(endDate), Criteria.where("occurrence").gte(startDate));

    GroupByResults<LoggerLevelCount> results = getMongoOperations().group(criteria, Logger.COLLECTION_NAME,
            GroupBy.key("level").initialDocument("{ count: 0 }")
                    .reduceFunction("function(doc, prev) { prev.count += 1 }"),
            LoggerLevelCount.class);

    List<LoggerLevelCount> counts = new ArrayList<LoggerLevelCount>();
    for (LoggerLevelCount level : results) {
        counts.add(level);/*from w w w .jav  a 2 s . co m*/
    }

    return counts;
}

From source file:br.com.ezequieljuliano.argos.persistence.LoggerDAO.java

public List<LoggerEntityCount> groupByEntityUsingUserAndOccurrence(User user, Date startDate, Date endDate) {
    Criteria criteria = Criteria.where("entity._id").in(findEntityObjectIdsByUser(user)).andOperator(
            Criteria.where("occurrence").lte(endDate), Criteria.where("occurrence").gte(startDate));

    GroupByResults<LoggerEntityCount> results = getMongoOperations().group(criteria, Logger.COLLECTION_NAME,
            GroupBy.key("entity").initialDocument("{ count: 0 }")
                    .reduceFunction("function(doc, prev) { prev.count += 1 }"),
            LoggerEntityCount.class);

    List<LoggerEntityCount> counts = new ArrayList<LoggerEntityCount>();
    for (LoggerEntityCount entity : results) {
        counts.add(entity);/*  w  w w  . j av  a 2 s . c o m*/
    }

    return counts;
}

From source file:br.com.ezequieljuliano.argos.persistence.LoggerDAO.java

public List<LoggerHostCount> groupByHostUsingUserAndOccurrence(User user, Date startDate, Date endDate) {
    Criteria criteria = Criteria.where("entity._id").in(findEntityObjectIdsByUser(user)).andOperator(
            Criteria.where("occurrence").lte(endDate), Criteria.where("occurrence").gte(startDate));

    GroupByResults<LoggerHostCount> results = getMongoOperations().group(criteria, Logger.COLLECTION_NAME,
            GroupBy.key("host").initialDocument("{ count: 0 }")
                    .reduceFunction("function(doc, prev) { prev.count += 1 }"),
            LoggerHostCount.class);

    List<LoggerHostCount> counts = new ArrayList<LoggerHostCount>();
    for (LoggerHostCount host : results) {
        counts.add(host);//from w  w  w.  j  a  v  a  2  s  . c  o  m
    }

    return counts;
}

From source file:br.com.ezequieljuliano.argos.persistence.LoggerDAO.java

public List<LoggerOwnerCount> groupByOwnerUsingUserAndOccurrence(User user, Date startDate, Date endDate) {
    Criteria criteria = Criteria.where("entity._id").in(findEntityObjectIdsByUser(user)).andOperator(
            Criteria.where("occurrence").lte(endDate), Criteria.where("occurrence").gte(startDate));

    GroupByResults<LoggerOwnerCount> results = getMongoOperations().group(criteria, Logger.COLLECTION_NAME,
            GroupBy.key("owner").initialDocument("{ count: 0 }")
                    .reduceFunction("function(doc, prev) { prev.count += 1 }"),
            LoggerOwnerCount.class);

    List<LoggerOwnerCount> counts = new ArrayList<LoggerOwnerCount>();
    for (LoggerOwnerCount owner : results) {
        counts.add(owner);//from w  w w.j  a va  2  s .  c  om
    }

    return counts;
}

From source file:br.com.ezequieljuliano.argos.persistence.LoggerDAO.java

public List<LoggerOccurrenceCount> groupByOccurrenceUsingUserAndOccurrence(User user, Date startDate,
        Date endDate) {/*  w ww. jav  a 2  s .c o m*/
    Criteria criteria = Criteria.where("entity._id").in(findEntityObjectIdsByUser(user)).andOperator(
            Criteria.where("occurrence").lte(endDate), Criteria.where("occurrence").gte(startDate));

    GroupByResults<LoggerOccurrenceCount> results = getMongoOperations().group(criteria, Logger.COLLECTION_NAME,
            GroupBy.key("occurrence").initialDocument("{ count: 0 }")
                    .reduceFunction("function(doc, prev) { prev.count += 1 }"),
            LoggerOccurrenceCount.class);

    List<LoggerOccurrenceCount> counts = new ArrayList<LoggerOccurrenceCount>();
    for (LoggerOccurrenceCount occurrence : results) {
        counts.add(occurrence);
    }

    return counts;
}