首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >小程序读取数据超过20 云函数读取超过100条限制

小程序读取数据超过20 云函数读取超过100条限制

原创
作者头像
编程小石头
修改于 2021-06-28 06:34:52
修改于 2021-06-28 06:34:52
1.5K0
举报

看过石头哥云开发基础课的同学肯定都知道,直接在小程序里请求数据每次最多只能返回20条数据,云函数里请求数据每次最多只能返回100条数据,如果想突破这个限制,最好的方式就是做分页,当然分页我在云开发基础里也有教大家。但是限制存在这么一个需求,如果我们想一次性的拿到数据库里存的所有数据呢,比如数据库里有1000条数据,我们想一下子全部拿到,该怎么做呢???

今天就来教大家如何通过云函数每次最多返回100条的限制。

一,云函数突破100条的限制

如上图所示,我的num集合里有103条数据,如果按照之前的分页思路,就是分两次请求,第一次请求1-100条,第二次请求101-103条。这样我们虽然是可以拿到103条数据,但是要做两次请求,我们该如何做,才能一次请求就可以获取这103条数据呢。

1-1,突破100条的原理

其实原理和我们分页的原理是一样的,只不过我们用for循环做多次请求,然后把这多次的请求组合到一起,然后把组合好的数据一次性全部返回。这样就通过一次请求获取所有数据。

1-2,代码实现

这里的代码是写在云函数里,操作步骤我都在注释里给大家写出来。

如上图所示,我们只需要通过三个步骤,就可以拿到所有的103条数据了。

这样我们就可以通过一次请求,获取所有的数据了。是不是感觉很简单。这里把代码贴出来给到大家。

代码语言:txt
AI代码解释
复制
// 云函数入口文件
const cloud = require('wx-server-sdk')
// 云开发环境初始化
cloud.init({env: cloud.DYNAMIC_CURRENT_ENV})
exports.main = async (event, context) => {
  const db = cloud.database()
  // 1,获取数据的总个数
  let count = await db.collection('num').count()
  count = count.total
  // 2,通过for循环做多次请求,并把多次请求的数据放到一个数组里
  let all = []
  for (let i = 0; i < count; i += 100) { //自己设置每次获取数据的量
    let list = await db.collection('num').skip(i).get()
    all = all.concat(list.data);
  }
  // 3,把组装好的数据一次性全部返回
  return all;
}

1-3,注意事项

云函数单次返回的数据不能超过1M,如果需要超过1M,则需要使用小程序端的数据查询20条20条的进行组合了。所以如果你一次性要返回很多数据,可以考虑在小程序里直接请求数据库,然后做20条20条的组装。

我下面也会教大家在小程序里做组装。

二,小程序直接请求数据库突破20条

2-1,开启async和await

原理我们这里不在说了,和上面是一模一样的,只不过小程序里使用await需要做下简单的操作,也可以去看下我的另外一篇文章。

《小程序里使用async和await变异步为同步,解决回调地狱问题》

现在最新版本的小程序开发者工具好像已经支持async和await方法了,好像不勾选增强编译也没事。但是安全起见,还是勾选下增强编译比较好。

2-2,权限修改

小程序里直接获取数据库里的数据,记得要把集合的权限改一下

2-3,代码实现

细心的同学肯定可以看出来,上面的代码和我们云函数里的代码基本上一模一样的。

到这里我们就完美的突破了小程序的限制,返回我们想要的任何个数的数据了。

后面会总结更多的小程序知识点给大家,欢迎关注,欢迎留言。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
微信小程序里长按识别二维码
可以看到,我们成功的在小程序里实现了长按识别二维码的功能。下面就教大家如何一步步实现吧。因为官方的规格还没有明确说支持这个功能,所以这个功能有可能随时被禁。这里先带大家爽一把,能爽一会是一会儿。
编程小石头
2020/09/18
1.3K0
微信小程序里长按识别二维码
小程序群发短信,借助云开发5行代码实现短信群发功能
但是官方文档里已经说明,我们群发短信的时候需要用到的是一组手机号,也就是说需要用数组来存放数据。但是我们这里是一个字符串。那么我们就要分割字符串成数组了。
编程小石头
2021/01/11
1.3K0
小程序群发短信,借助云开发5行代码实现短信群发功能
小程序三级联动,实现三级分类,顶部导航栏,左侧分类栏,右侧数据列表
但是有时候我们想实现三级分类,该怎么做呢,今天就来教大家如何实现三级分类。随便教下大家如何把excel数据批量的导入到云开发数据库
编程小石头
2021/03/28
2.4K0
小程序三级联动,实现三级分类,顶部导航栏,左侧分类栏,右侧数据列表
正点原子DS100拆解全过程-硬件工程师必备
之前一篇只针对正点原子DS100手持示波器的使用介绍文章。可作为一个电子工程师,光使用不是我们的风格哈,我们还要拆开看看电路。
良知犹存
2021/02/05
2.2K0
正点原子DS100拆解全过程-硬件工程师必备
windows使用docker运行mysql等工具(一)windows安装docker
打开控制面板-->程序-->启用或关闭windows功能,勾选Hyper-V,然后点击确定即可。
Java旅途
2020/06/25
1.6K0
1分钟部署一个属于自己的网站,借助云开发静态网站部署属于自己的网站
这也就意味着,我们的网站可以供用户在任何地方访问。下面就来教大家如何快速的部署一个属于自己的网站。
编程小石头
2020/12/11
1.4K0
1分钟部署一个属于自己的网站,借助云开发静态网站部署属于自己的网站
1分钟实现小程序发短信功能,借助云开发10行代码实现短信验证码登录小程序
不仅仅可以很方便的使用短信功能,还送了咱们1000条免费短信。不用白不用嘛。这1000条短信足够咱们把小程序短信功能,和小程序短信验证码功能都学会了。
编程小石头
2021/01/09
4.6K1
1分钟实现小程序发短信功能,借助云开发10行代码实现短信验证码登录小程序
附解决方案,小程序昵称突然变成了“微信用户”,而且头像也显示不了?
最近好多小伙伴在使用getUserInfo获取小程序用户昵称和头像时,图然变成了下面这样。
编程小石头
2021/04/03
7K2
附解决方案,小程序昵称突然变成了“微信用户”,而且头像也显示不了?
MySQL8.0的binlog详解
binlog中可以不记录执行的sql语句的上下文相关的信息,仅需要记录那一条记录被修改成什么了。所以rowlevel的日志内容会非常清楚的记录下每一行数据修改的细节。而且不会出现某些特定情况下的存储过程,或function,以及trigger的调用和触发无法被正确复制的问题
JavaEdge
2020/10/08
4.7K0
MySQL8.0的binlog详解
Power Query 系列 (18) - 参数化查询
参数化查询增加了查询的灵活性。Power Query 可以设置和管理参数,同一工作簿下所有查询都可以使用。
StoneWM
2021/03/25
2.7K0
Power Query 系列 (10) - 合并查询多字段关联技巧
本篇介绍的合并查询的时候,需要多个字段关联作为连接条件的操作技巧。Excel Vlookup 函数可以进行多列作为条件的关联,但已经需要高级操作技巧,在 Power Query (PQ) 中实现则非常简单,方法基本上和上篇一样。
StoneWM
2021/03/25
2.5K0
Power Query 系列 (03) - 从数据库导入数据
Excel 支持部分数据库数据导入和基于 ODBC 的数据库导入,Power Query (以下简称 PQ) 扩大了直连数据库的范围,并且使用起来更加直观。本篇介绍 MS Access 和 MySQL 数据导入,其他数据库的使用方式类似。也会介绍 从 ODBC 数据源导入数据的方法。
StoneWM
2019/09/11
2.6K0
Power Query 系列 (15) - Table 和 List 转换应用案例
本文通过一个数据处理的案例,说明 table 和 list 相互转换在 Power Query (PQ) 数据处理中的作用。假设有下面的销售数据,需要按月份进行汇总,输出为右边的格式:
StoneWM
2021/03/25
2.6K0
Power Query 系列 (12) - Power Query 结构化列应用案例
本篇数据处理来自一个实际处理数据的简化。下图中,假设左边是一个直观的 BOM 结构展示,数据在 Excel 中存储格式如中间部分所示:第一列为物料编码的级别,第二列为物料编码。数据处理任务:需要在 Excel 中增加一列输出物料编码上一级的物料编码(目标为黄色部分)。
StoneWM
2021/03/25
1.4K0
3行代码实现小程序直播,带美颜优惠券抽奖功能
注意我们上图红色框里的一些要求。必须要满足这些条件,才可以开通直播功能。更详细些的如下:
编程小石头
2020/06/30
1K0
3行代码实现小程序直播,带美颜优惠券抽奖功能
【玩转腾讯云】Python 操作腾讯对象存储(COS)详细教程
django项目中,使用editormd时需要上传本地图片,使用到了腾讯对象存储,通过后台可以将图片上传到COS,由此记录一下。 <font color="red">想了解django中如何引入markdown编辑器可以参考此篇文章 --> django 中引入markdown编辑器</font> 1. 腾讯对象存储 1.1 开通服务 腾讯COS 开通后会赠送免费额度 1.2 后台 [watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9i
ruochen
2021/04/11
20.2K0
【玩转腾讯云】Python 操作腾讯对象存储(COS)详细教程
Power Query 系列 (13) - 自定义函数
以工资类所得应交个税为例,最新的个税起征点为 5000 并按下表的级次进行缴税(假设没有其它扣除项)。
StoneWM
2021/03/25
2K0
基于 JMeter 完成 Dubbo 接口的测试
JMeter 默认是不支持 Dubbo 接口测试的,但是我们可以通过拓展的插件或 jar 包实现此功能。
霍格沃兹测试开发
2021/04/08
3K0
使用ESP8266腾讯云定制固件对接腾讯云平台IoThub
此部分请参考腾讯云官方文档:腾讯云 IoT AT ESP8266 定制固件及说明。
Mculover666
2020/06/28
4.6K0
2行代码实现小程序直接分享到微信朋友圈功能
或许你都想象不到,小程序分享到朋友圈真是太简单了。只需要下面这几行代码,并且这几行代码是小程序页面的默认配置。
编程小石头
2020/07/12
3.9K1
2行代码实现小程序直接分享到微信朋友圈功能
推荐阅读
相关推荐
微信小程序里长按识别二维码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档