Я пытаюсь составить статистику по времени.
У меня есть объект, где у меня есть имя_устройства (ПК, мобильный телефон), время и трафик.
public class TrafficRecord extends MongoMorphiaModel {
public ObjectId id;
public String device_name;
public Date time_record;
public Long traffic;
}
Я не могу понять, как написать это в коде, и согласен с тем, что к «Дню» или «Часу», конечно, есть некоторые учебные пособия, но не для Morphia.
Итак, ожидаемый результат выглядит примерно так:
public static class QueryResultStats {
public String device_name
public List<Record> avarage_per_something;
}
public static class Record {
public Long consumption_total;
public Date start; // Time
}
Мой запрос в Morphia Java
Iterator<QueryResultStats> aggregate = ModelMongo_ThingsMobile_CRD.find
.createAggregation()
.group(
"device_name",
Group.grouping(
"avarage_per_hour",
Group.grouping(
"consumption_total",
Group.sum( "time_record")
)
)
)
.out(
QueryResultStats.class,
AggregationOptions
.builder()
.allowDiskUse(false)
.maxTime( 5000 , TimeUnit.SECONDS)
.build()
);