搜索mongodb springdata

时间:2016-01-08 06:10:09

标签: java mongodb spring-data

假设我想在spring-data-mongodb中搜索多个字段,如何使查询动态化。 我需要做的是首先检查字段值是否为空,然后在where子句中使用它。

实施例,

Query query=new Query();
if(isNotEmpty(searchDto.getA())){
    query.addCriteria(new Criteria().and("a").is(searchDto.getA()));
}
if(isNotEmpty(searchDto.getB())){
    query.addCriteria(new Criteria().and("b").is(searchDto.getB()));
}
if(isNotEmpty(searchDto.getC())){
    query.addCriteria(new Criteria().and("c").is(ssearchDto.getC()));
}
if(isNotEmpty(searchDto.getD())){
    query.addCriteria(new Criteria().and("d").is(searchDto.getD()));
}
query.with(new Sort(Sort.Direction.ASC, "a"));
return mongoTemplate.find(query, ResultDto.class, "MY_COLLECTION");

这些不是获取数据,结果列表的大小始终为0。

有没有其他方法可以做到这一点。

0 个答案:

没有答案