@Document(collection = "A")
public class A {
private int id;
private List<Student> allstud;
//setter and getter
}
public class Student {
private int id;
private String name
private DateTime JoinDate;
//setter and getter
}
Дата присоединения может быть любой датой в году;запрос, так что можно получить 8 месяцев присоединения к студенту.
db.A.find({
"allstud.JoinDate": {
"$gte": ISODate("2018-08-01T00:00:00.000+00:00"),
"$lte": ISODate("2018-08-29T00:00:00.000+00:00")
}
});
Но выше запрос дает неправильный список.Все даты наступают
Использование этого запроса для получения правильного результата
db.A.aggregate([
{ $unwind :'$allstud'},
{ $match : {
"allstud.joinDate": { $gte:ISODate("2018-08-05T00:00:00.000+00:00"), $lte: ISODate("2018-08-09T00:00:00.000+00:00") }
}}
]);
Но как конвертировать в Java-запрос для проекта