前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >还是那些微信小程序的坑。。

还是那些微信小程序的坑。。

原创
作者头像
谭广健
修改2021-10-27 17:03:30
5350
修改2021-10-27 17:03:30
举报
文章被收录于专栏:谭广健的专栏谭广健的专栏

微信小程序嘛,一直都在升级,也一直在挖坑。自从官方出文通知10月20日起回收用户信息(用户性别及地区信息

)后,就要将原先根据用户信息进行判断的程序进行迭代升级。然后在升级的过程中又遇到一个云开发中的一个数据集列表坑。坑的内容是:“。。小程序端在获取集合数据时服务器一次默认并且最多返回 20 条记录云函数端这个数字则是 100。。”怪不得云数据集中明明超过20条记录就只返回20条。。那怎么破呢。。。好吧只能上分组循环。。

大概思路就是先取出整体的数据集,然后通过计算其20条循环的次数,逐一读出写入数据。。

代码语言:javascript
复制
 const MAX_LIMIT = 20,that=this;
 const db = wx.cloud.database();
 db.collection('subscribe_db').count().then(async res => {
 let total = res.total;// 计算需分几次取
 console.log("total==>"+total)
 const batchTimes = Math.ceil(total / MAX_LIMIT);// 承载所有读操作的 promise 的数组
 for (let i = 0; i < batchTimes; i++) {
 await db.collection('subscribe_db').where({
          _openid: Sopenid,
          Spare: {$regex: str}
 }).skip(i * MAX_LIMIT).limit(MAX_LIMIT)
 .get().then(async res => {
      res.data.sort().forEach((item) => {
             Sub_Data.push({
                Spare: item.Spare,
                DIN02: item.DIN02
            });
     });
 })}
 that.setData({Sub_Data: Sub_Data})
 //console.log(this.data.Sub_Data);
  // setTimeout(function () {that.checkD();}, 10)
 })

另外关于setData的动态key可以用以下方式处理。。

代码语言:javascript
复制
 let update = 'for_day[' + index + '].ac'
 that.setData({ [update]: true })

这次也就分享到这边。。愿世界太平,Bug远离我。

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

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

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

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

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档