第三期 小程序云开发之如何使用云函数查询云数据库

本文介绍了如何在微信小程序中通过云函数解决一次性获取数据量限制的问题。首先创建云函数,然后编写查询数据库的方法,包括获取总数和分页查询功能。接着上传云函数,并在小程序端调用该云函数进行分页查询。最后展示了两种分页显示数据的方式:按钮切换和下滑自动刷新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景
在我的小程序中有这么一个业务——查询当前登录用户所有位置打卡记录,在微信js中只能一次性获取20条,但是不足以达到我的目的,于是使用云函数获取数据库数据(一次可获取100条),但是要达到该用户全部数据都查询出来,需要加个分页循环查询。

第一步:创建云函数

找到云函数列表,单击鼠标右键,创建云函数,创建云函数前需要有云开发环境,具体介绍请点击看我另一篇博客有介绍,需要创建云开发小程序
在这里插入图片描述

第二步:找到云函数里面的index.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,
    openid: wxContext.OPENID,
    appid: wxContext.APPID,
    unionid: wxContext.UNIONID,
    total: total,
    list: list
  }
}

// 统计用户位置打卡次数
async function getCount(openid) {
   
   
  let count = await db.collection('position').where({
   
   
    "_openid": openid
  }).count()
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HHUFU..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值