微信小程序云开发读取数据超过20云函数读取超过100条限制获取云开发数据库集合里的所有_第1页
微信小程序云开发读取数据超过20云函数读取超过100条限制获取云开发数据库集合里的所有_第2页
微信小程序云开发读取数据超过20云函数读取超过100条限制获取云开发数据库集合里的所有_第3页
微信小程序云开发读取数据超过20云函数读取超过100条限制获取云开发数据库集合里的所有_第4页
微信小程序云开发读取数据超过20云函数读取超过100条限制获取云开发数据库集合里的所有_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微信⼩程序云开发读取数据超过20,云函数读取超过100条限制,获取云开发数据库集合⾥的所有。。。看过⽯头哥云开发基础课的同学肯定都知道,直接在⼩程序⾥请求数据每次最多只能返回20条数据,云函数⾥请求数据每次最多只能返回100条数据,如果想突破这个限制,最好的⽅式就是做分页,当然分页我在云开发基础⾥也有教⼤家。但是限制存在这么⼀个需求,如果我们想⼀次性的拿到数据库⾥存的所有数据呢,⽐如数据库⾥有1000条数据,我们想⼀下⼦全部拿到,该怎么做呢今天就来教⼤家如何通过云函数每次最多返回100条的限制。⼀,云函数突破100条的限制如上图所⽰,我的num集合⾥有103条数据,如果按照之前的分页思路,就是分两次请求,第⼀次请求1-100条,第⼆次请求101-103条。这样我们虽然是可以拿到103条数据,但是要做两次请求,我们该如何做,才能⼀次请求就可以获取这103条数据呢。1-1,突破100条的原理其实原理和我们分页的原理是⼀样的,只不过我们⽤for循环做多次请求,然后把这多次的请求组合到⼀起,然后把组合好的数据⼀次性全部返回。这样就通过⼀次请求获取所有数据。1-2,代码实现这⾥的代码是写在云函数⾥,操作步骤我都在注释⾥给⼤家写出来。如上图所⽰,我们只需要通过三个步骤,就可以拿到所有的103条数据了。这样我们就可以通过⼀次请求,获取所有的数据了。是不是感觉很简单。这⾥把代码贴出来给到⼤家。//云函数⼊⼝⽂件constcloud=require('wx-server-sdk')//云开发环境初始化cloud.init({env:cloud.DYNAMIC_CURRENT_ENV})exports.main=async(event,context)=>{constdb=cloud.database()//1,获取数据的总个数letcount=awaitdb.collection('num').count()count=count.total//2,通过for循环做多次请求,并把多次请求的数据放到⼀个数组⾥letall=[]for(leti=0;i<count;i+=100){//⾃⼰设置每次获取数据的量letlist=awaitdb.collection('num').skip(i).get()all=all.concat(list.data);}//3,把组装好的数据⼀次性全部返回returnall;}1-3,注意事项云函数单次返回的数据不能超过1M,如果需要超过1M,则需要使⽤⼩程序端的数据查询20条20条的进⾏组合了。所以如果你⼀次性要返回很多数据,可以考虑在⼩程序⾥直接请求数据库,然后做20条20条的组装。我下⾯也会教⼤家在⼩程序⾥做组装。⼆,⼩程序直接请求数据库突破20条2-1,开启async和await原理我们这⾥不在说了,和上⾯是⼀模⼀样的,只不过⼩程序⾥使⽤await需要做下简单的操作,也可以去看下我的另外⼀篇⽂章现在最新版本的⼩程序开发者⼯具好像已经⽀持async和await⽅法了,好像不勾选增强编译也没事。但是安全起见,还是勾选下增⽐较好。2-2,权限修改⼩程序⾥直接获取数据库⾥的数据,记得要把集合的权限改⼀下2-3,代码实现细⼼的同学肯定可以看出来,上⾯的代码和我们云函数⾥的代码基本上⼀模⼀样的。到这⾥我们就完

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论