有一个mongo表实体。
@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")
}
});
但是上面的查询给出了错误的列表。所有日期都来了。
答案 0 :(得分:0)
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查询