在平时涉及查询的语句,由于小程序端只能查询到20条,所以基本查询功能都陆续要依赖云函数了,我其实一直不明白,既然小程序端提供20条查询有什么意义,跟不提供查询没区别呀
官方文档
1
2
3
4
参考文档
https://developers.weixin.qq.com/community/develop/doc/000826392c4a88c7aa0a1fedb5b400
云开发,数据库查询最多一次可以取1000条数据了
在平时涉及查询的语句,由于小程序端只能查询到20条,所以基本查询功能都陆续要依赖云函数了,我其实一直不明白,既然小程序端提供20条查询有什么意义,跟不提供查询没区别呀
官方文档
1
2
3
4
参考文档
https://developers.weixin.qq.com/community/develop/doc/000826392c4a88c7aa0a1fedb5b400
3 个评论
官方代码:获取所有数据
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/collection/Collection.get.html
const cloud = require('wx-server-sdk') cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) 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条数据吗