Chcę wybrać maksymalną datę dla pola data
z kolekcji 4programmers
.
W Mongo Shell mogę zrobić tak:
db.getCollection("4programmers").aggregate([
{
$group:
{
_id: null,
max : {$max: "$date"}
}
}
])
zwraca dokument z ISODate("2017-10-20T17:12:37.000+02:00")
czyli najpóźniejsza data
A w Javie jak? Próbuję tak:
Date d = collection.aggregate(
Arrays.asList(
Aggregates.group("$date", Accumulators.max("maxx", "$date"))
)
).first().getDate("maxx");
System.out.println(d);
ale zwraca: Fri Oct 20 00:44:50 CEST 2017
czyli przed przed najpóźniejszą datę, (lub inaczej: najpóźniejszy dzień, ale najwcześnijesza godzina)
Wszystkich dokumentów jest ponad 1000 w kolekcji.