1)我正在使用带有流的mongotemplate来查询mongodb,并为结果解析传递一个自定义类。但是当我将过滤条件和自定义类作为流参数传递时,它不起作用。
@Override
public CloseableIterator<Map> findCreatedAtBetween(long ageGTE, long ageLT, String empId, String collection) {
return mongoTemplate.stream(new Query().addCriteria(new Criteria().andOperator(Criteria.where("empId").is(empId),Criteria.where("l_createdAt").gte(ageGTE).lte(ageLT))), Emp.class, collection);
}
2)如果我删除过滤条件并通过如下所示的自定义类,则可以,但是它将从db中获取所有数据。
@Override
public CloseableIterator<Map> findCreatedAtBetween(long ageGTE, longageLT, String empId, String collection) {
return mongoTemplate.stream(new Query(), Emp.class, collection);
}
3)如果我保持查询与过滤器相同,并将map作为流的第二个参数传递,如下所示,也可以。
@Override
public CloseableIterator<Map> findCreatedAtBetween(long ageGTE, long, ageLT, String empId, String collection) {
return mongoTemplate.stream(new Query().addCriteria(new Criteria().andOperator(Criteria.where("empId").is(empId),Criteria.where("l_createdAt").gte(ageGTE).lte(ageLT))), Map.class, collection);
}
但是我需要第1点中提到的内容,我需要传递过滤条件以进行查询,还需要传递自定义类来解析结果。