我有A类和B类,而b类是Objects列表的一种类型,作为b类中的一个属性。我必须编写一个条件查询以在A类服务类的B类内部查找数据< / p>
class B {
String id;
String dataVal;
String value;
//setter and getter
}
Class A {
String id;
String Name;
private List<List<B>> b;
//setter and getter
}
我的查询是
for (int i = 0; i < keyList.size(); i++) {
query.addCriteria(Criteria.where("B")
.elemMatch(Criteria.where("dataVal").is(keyList.get(i)).and("value").is(valueList.get(i))));
}
MongoTemplate MONGO_TEMPLATE = null;
try {
MONGO_TEMPLATE = multipleMongoConfig.secondaryMongoTemplate();
} catch (Exception e) {
e.printStackTrace();
}
List<A> AModel = MONGO_TEMPLATE.find(query, A.class);
return AModel;
}
然后过滤器会将键和值的列表作为queryparameter