Java Spring data mongodb:如何在findAll方法中定义游标限制
我正在使用SpringDataMongoDB地理空间标准,我的要求是我必须使用项目的坐标和半径找到用户。当管理员添加项目时,它将对满足条件的用户进行操作。现在,我正在使用mongotemplate的findAll方法。但在未来,用户可能会达到Java Spring data mongodb:如何在findAll方法中定义游标限制,java,spring,mongodb,spring-data-mongodb,Java,Spring,Mongodb,Spring Data Mongodb,我正在使用SpringDataMongoDB地理空间标准,我的要求是我必须使用项目的坐标和半径找到用户。当管理员添加项目时,它将对满足条件的用户进行操作。现在,我正在使用mongotemplate的findAll方法。但在未来,用户可能会达到50000,所以我认为findAll对它来说效率不高。我正在寻找findAll中设置的限制,或者在SpringDataMongoDB中使用的任何替代方法 我的问题是 List<User> users = mongoTemplate.find(
50000
,所以我认为findAll
对它来说效率不高。我正在寻找findAll中设置的限制,或者在SpringDataMongoDB中使用的任何替代方法
我的问题是
List<User> users = mongoTemplate.find(
new Query(Criteria.where("address.coordinates").within(
new Circle(longitude, latitude, radius))), User.class);
但现在的问题是,我将如何在本例中使用我在示例中提到的地理空间查询
Thanks您可以使用
Query
提供的skip
和limit
方法,如下所示:
List<User> users = mongoTemplate
.find(new Query(Criteria.where("address.coordinates")
.within(new Circle(longitude, latitude, radius)))
.limit(1000),
User.class);
List users=mongoTemplate
.find(新查询(条件.where(“地址.坐标”)
.在(新圆(经度、纬度、半径))内
.限值(1000),
用户类别);
您还可以使用
with(Pageable Pageable)
方法,最后但并非最不重要的是,您可以使用Mongo存储库及其findAll(Pageable Pageable)
方法 我知道限制和跳过,但它们在后台工作中如何工作?
List<User> users = mongoTemplate
.find(new Query(Criteria.where("address.coordinates")
.within(new Circle(longitude, latitude, radius)))
.limit(1000),
User.class);