当我在查询参数和自定义类中通过过滤条件时,Mongo流查询不起作用

时间:2018-08-29 08:47:28

标签: spring-boot stream mongotemplate

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点中提到的内容,我需要传递过滤条件以进行查询,还需要传递自定义类来解析结果。

0 个答案:

没有答案