我想在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