收藏
回答

云开发数据库查询返回记录个数上限为20,有没有好的解决办法?

问题模块 框架类型 问题类型 终端类型 AppID 基础库版本
云开发 小程序 需求 客户端 wx5be344927ef95eac 2.2.5

在小程序里最开始需要获取产品数据,但是get的返回结果上线是20个


    返回结果:


但实际上我的产品数据记录有54条,以后甚至会更高。

    

    如何突破这个限制?如果是还包含where的条件查询呢,有没有好的解决办法?还请大神们指教。


邀请回答
复制链接收藏投诉关注问题回答

4 个回答

  • 宁鹏伟
    宁鹏伟
    2018-09-12

    要分页吧  用skip

    2018-09-12
    赞同
    回复 8
    • 阿姆斯壮
      阿姆斯壮
      2018-09-12

      您好,请问意思是说:先用count判断记录数,然后用skip多次get,自己把多次查询的结果合并成一个结果吗?这样操作起来感觉要查询好几次哈。。

      2018-09-12
      回复
    • 宁鹏伟
      宁鹏伟
      2018-09-12

      先查询出总数据,然后分页拉取每页数据。 下拉或点击第二页加载就可以呀。

      2018-09-12
      回复
    • 老张
      老张
      2018-09-13回复阿姆斯壮

      不需要count判断总数,直接collection.skip(20*i)就行了,i是指第几次get。

      2018-09-13
      回复
    • 阿姆斯壮
      阿姆斯壮
      2018-09-13回复老张

      不获取count,怎么能知道get几次呢

      2018-09-13
      回复
    • 老张
      老张
      2018-09-13回复阿姆斯壮

      每get一次,就setData渲染掉,然后底线触发下一次get,直到length==0.

      2018-09-13
      回复
    查看更多(3)
  • NoNo
    NoNo
    2018-09-12

    其实一般这种要求读取全部记录的。大多是配置数据、公共数据。你大可以用一条记录里面放对象就好了。

    2018-09-12
    赞同
    回复 1
    • 阿姆斯壮
      阿姆斯壮
      2018-09-12

      感谢!~给了我很大的启发。单条记录的大小会有上限吗,文档里貌似没注意到。


      2018-09-12
      回复
  • RELAX
    RELAX
    2018-09-20

    谢谢了,


    2018-09-20
    赞同
    回复
  • 好好学习,天天锻炼
    好好学习,天天锻炼
    2018-10-12

    await Promise.all

    异步并发拿数据,也是一个思路

    2018-10-12
    赞同
    回复