Я хочу получить все записи в 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);
Что не так с этой агрегацией?