微信小程序 - 云开发data exceed max size 解决方案
2021/11/28 1:12:16
本文主要是介绍微信小程序 - 云开发data exceed max size 解决方案,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在使用云开发时,对单个字段是数组类型的数据进行更新操作时,报了一个错(只在真机出现),
data exceed max size
,因为小程序对单个字段的数据进行提交或者更新时,对数据的大小有限制,错误信息里也没有提示具体上限多少,最终对提交的数据进行拆分,改为多个请求进行提交
相关报错文章:
小程序云开发:data exceed max size 解决方案
解决方案:
1.先对要提交的数据根据长度进行拆分,看需要进行几次更新操作
2.根据数据id查询有没有这条数据,有了进行更新操作,在原数组后追加更新的数据,没有的话进行新增
对应使用的云开发数组更新方法:
开发者资源 /SDK 文档 /数据库 /Command /更新·数组操作符 /push
Command.push(values: Object): Command
支持端:小程序 2.8.3, 云函数 1.2.1, Web
数组更新操作符。对一个值为数组的字段,往数组添加一个或多个值。或字段原为空,则创建该字段并设数组为传入值
示例 1:尾部添加元素
const _ = db.command db.collection('todos').doc('doc-id').update({ data: { tags: _.push(['mini-program', 'cloud']) } })
// 根据长度n把数组拆分成n个小数组 function splitArrayByLength(array, subGroupLength) { let index = 0; let newArray = []; while(index < array.length) { newArray.push(array.slice(index, index += subGroupLength)); } return newArray; }
//提交数据 function submitData(params, dataArr, openId) { const tasks = [] // const promise = DataManager.addOrUpdateData(dataArr, openId) // 单个更新报错,长度超限,废弃 // tasks.push(promise) var tempArr = splitArrayByLength(dataArr, 50); // 50个分为一组 for (let index = 0; index < tempArr.length; index++) { let promise = DataManager.addOrUpdateData(tempArr[index], openId) tasks.push(promise) } return Promise.all(tasks).then(res => { return res }).catch(function (err) { return err }) }
这篇关于微信小程序 - 云开发data exceed max size 解决方案的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-20微信小程序开发入门指南
- 2024-12-20小程序 createCameraContext() 怎么实现识别条形码功能?-icode9专业技术文章分享
- 2024-11-22微信小程序的接口信息py可以抓到吗?-icode9专业技术文章分享
- 2024-11-22怎样解析出微信小程序二维码带的参数?-icode9专业技术文章分享
- 2024-11-22微信小程序二维码怎样解析成链接?-icode9专业技术文章分享
- 2024-11-22微信小程序接口地址的域名需要怎么设置?-icode9专业技术文章分享
- 2024-11-22微信小程序的业务域名有什么作用-icode9专业技术文章分享
- 2024-11-22微信小程序 image有类似html5的onload吗?-icode9专业技术文章分享
- 2024-11-22微信小程序中怎么实现文本内容超出行数后显示省略号?-icode9专业技术文章分享
- 2024-11-22微信小程序怎么实现分享样式定制和图片定制功能?-icode9专业技术文章分享