微信小程序嘛,一直都在升级,也一直在挖坑。自从官方出文通知10月20日起回收用户信息(用户性别及地区信息
)后,就要将原先根据用户信息进行判断的程序进行迭代升级。然后在升级的过程中又遇到一个云开发中的一个数据集列表坑。坑的内容是:“。。小程序端在获取集合数据时服务器一次默认并且最多返回 20 条记录,云函数端这个数字则是 100。。”怪不得云数据集中明明超过20条记录就只返回20条。。那怎么破呢。。。好吧只能上分组循环。。
大概思路就是先取出整体的数据集,然后通过计算其20条循环的次数,逐一读出写入数据。。
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可以用以下方式处理。。
let update = 'for_day[' + index + '].ac'
that.setData({ [update]: true })
这次也就分享到这边。。愿世界太平,Bug远离我。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。