【问题标题】:Does Spring Data Couchbase reactive support pagination?Spring Data Couchbase 反应式是否支持分页?
【发布时间】:2019-04-19 08:39:50
【问题描述】:

我有一个用例来提供一个返回用户列表的 api。由于有超过 10000 个用户,因此也需要分页。 当我使用 Spring data couchbase reactive 时,我无法为我的 api 找到一种以反应方式实现分页的方法。

是否可以实现分页,api调用者可以控制自己想要多少条记录,可以处理多少条记录?

【问题讨论】:

    标签: reactive-programming couchbase spring-data-couchbase


    【解决方案1】:

    您可以使用标准的 N1QL LIMIT 和 OFFSET:

    @Query("#{#n1ql.selectEntity} where #{#n1ql.filter} and companyId = $1 LIMIT $2 OFFSET $3")
    Flux<Users> listUsers(String companyId, Integer limit, Integer offset);
    

    【讨论】:

    • 我可以通过“*”作为公司 ID,因为我需要分页响应中的所有公司数据吗?
    • companyId 只是一些随机属性的一个例子。您可以简单地删除它。
    • 我试图测试建议的方法并得到以下错误:==> "message": "Unable to execute n1ql query due to error:{\"msg\":\"Invalid LIMIT值 5.\",\"code\":5030}" `@Query("#{#n1ql.selectEntity} where #{#n1ql.filter} OFFSET $2 LIMIT $1") Flux findByIdLimitAndOffset(String limit, String offset);` 有人可以用limit=5&offset=0 值建议我在这里做错了什么吗?
    • Limit 和 Offset 必须是整数
    猜你喜欢
    • 2020-12-21
    • 2016-03-25
    • 1970-01-01
    • 2017-12-27
    • 2018-06-20
    • 1970-01-01
    • 2022-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多