小程序 云开发 云函数怎么对大量数据做计算
题目描述
我开发小程序用的云开发,在云函数里面查询云数据库的数据,想要在云函数里面对集合数据计算;
我对安卓和服务端开发都熟悉,但是对js不是很熟悉,希望大佬给点提示、建议、思路
题目来源及自己的思路
我尝试在下面代码的 for 循环和reduce 中做计算,但是都不行,
相关代码
// 小程序文档在云函数里面获取云数据库数据集合的代码
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
const MAX_LIMIT = 100
exports.main = async (event, context) => {
// 先取出集合记录总数
const countResult = await db.collection('todos').count()
const total = countResult.total
// 计算需分几次取
const batchTimes = Math.ceil(total / 100)
// 承载所有读操作的 promise 的数组
const tasks = []
for (let i = 0; i < batchTimes; i++) {
const promise = db.collection('todos').skip(i * MAX_LIMIT).limit(MAX_LIMIT).get()
tasks.push(promise)
}
// 等待所有
return (await Promise.all(tasks)).reduce((acc, cur) => {
return {
data: acc.data.concat(cur.data),
errMsg: acc.errMsg,
}
})
}
但是我有个需求,是在云函数里面调用云数据库的数据集合,并对这20条数据其中的一个字段求和并返回,不知道该怎么做了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论