背景
我的迷你程序中有这样的业务 - 查询当前登录用户所有位置的签入记录。在微信JS中,您一次只能获得20个项目,但这还不足以实现我的目标,因此我使用云功能获取数据库数据(一次)。可以获得100个项目),但是为了确保所有用户的数据已查询,需要查询分页循环查询。
步骤1:创建一个云功能
查找云功能的列表,右键单击,创建云功能,在创建云功能之前,您需要一个云开发环境。有关详细信息,请单击以阅读另一个介绍的博客。您需要创建一个云开发小程序
步骤2:在云函数中找到.js并编写一种查询数据库数据的方法
// 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database(); // 云函数入口函数 exports.main = async (event, context) => { // 在云函数中获取微信调用上下文 const wxContext = cloud.getWXContext(); // 根据当前用户openid获取位置打卡总条数 const count = await getCount(wxContext.OPENID); let total = count.total; let list = []; // 分页查询数据,每次查询100条 for (let i = 0; i < total; i += 100) { list = list.concat(await getList(wxContext.OPENID, i)); } return { event,
步骤3:上传云功能
单击云功能,右键单击一台计算机以创建和上传云功能
步骤4:调用需要使用的函数J中的云功能
有时上传后仍无法调用它。上传可能是失败,因此只需再次上传即可。
//查询打卡记录 onList: function () { var that = this; wx.cloud.callFunction({ // 自己定义的云函数名称 name: 'getmyfoot', // 传给云函数的参数 data: { openid: that.data.openid }, success: function (res) { //这里的res就是云函数的返回值 console.log(res) } }, fail: console.error }) }
扩展:查询云开发数据分页
在开发过程中,我们通常需要以列表表格显示数据
在迷你程序中显示分页有两种常见方法:1。用按钮2切换下一页。向下滑动以自动刷新下一页数据