Я работаю с Spring Boot v2.0.5
.У меня есть мои данные, как показано ниже:
[
{
"name": "bob",
"score": 20,
"date": 1578940321
},
{
"name": "tom",
"score": 20,
"date": 1578940321
},
{
"name": "mike",
"score": 20,
"date": 1578965903
},
{
"name": "bob",
"score": 10,
"date": 1578965903
},
{
"name": "tom",
"score": 10,
"date": 1578965903
}
]
Я пытаюсь создать какой-то отчет между двумя датами с нумерацией страниц.Допустим, нам нужно 2 разных имени на страницу.
Отчет должен быть отсортирован по сумме баллов каждой записи, сгруппированной по имени.например, Боб 30, Том 30, Майк 20 на время между 1578940321 до 1578965903.
Как я могу получить различные имена на странице, например, Боб и Том для страницы 1 и Майк для страницы 2.
Ниже я попробовал:
Подход 1
DistinctIterable list = mongoTemplate.getCollection(statsCollectionName)
.distinct("name", query.getQueryObject(), Object.class);
Подход 2
Bson pika = BsonDocument.parse(String.format("{'date': {$gte: %d, $lte: %d}}", startStamp, endDate));
DistinctIterable<Document> p = mongoTemplate.getCollection(statsCollectionName)
.distinct("name", Document.class).filter(pika);
p.iterator().forEachRemaining(x -> {
System.out.println("");
});
Я не могу заставить его работать.