Как получить записи между двумя датами в mongodb, используя агрегацию в springboot - PullRequest
0 голосов
/ 24 октября 2018

Я хочу получить все записи в mongodb, которые находятся между двумя конкретными датами.В Springboot я использую эту агрегацию:

newAggregation(
    project()
        .andExpression("year(finishTimestamp)").as("year")
        .andExpression("month(finishTimestamp)").as("month")
        .andExpression("dayOfMonth(finishTimestamp)").as("day")
    match(Criteria.where("finishTimestamp").gte(startDate).lte(endDate)),
    group(fields().and("year").and("month").and("day"))
        .count().as("cnt")
);

startDate и endDate оба типа java.util.Date.В вышеупомянутой агрегации mongodb полностью игнорирует операцию сопоставления.

в Springboot Я использую агрегацию для извлечения данных следующим образом:

AggregationResults <Map> server = mongoTemplate.aggregate(agg,
    "someName", Map.class);

Что не так с этой агрегацией?

...