如何在春季启动时将Stream与Mongo-db一起使用



我想在Mongodb中查询大型集合,并尝试使用Streamcom.mongodb.connection.Stream。我在春季启动时使用MongoRepository进行此操作。我得到方法Stream<Population> findAllStates(String state);的错误Type 'com.mongodb.connection.Stream' does not have type parameters。不知道抱怨的类型是什么。

我在mongodb中有集合Population

我的存储库类是

package com.krk.samplemongodb;
import com.mongodb.connection.Stream;
import org.springframework.data.mongodb.repository.Aggregation;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.mongodb.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface PopulationRepository extends MongoRepository<Population, String> {

@Query(value = "{'state' :?0}")
Stream<Population> findAllStates(String state);
List<Population> findAll();

}

感谢

您应该将导入更改为

import java.util.stream.Stream;

此外,请确保至少使用本答案中所述的SpringDataMongoDB的1.7版本

至@neoczar。也许为时已晚,但根据Spring Data Mongodb的文档,应该关闭流以释放服务器端资源(游标(。所以您可以使用try-with-resources来自动关闭光标。

https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#mongodb.repositories.queries.aggregation

最新更新