微信小程序云开发,数据获取突破100条限制

1.使用微信编程工具进入云开发,自定义云函数

// 云函数入口文件
const cloud = require(‘wx-server-sdk‘)
cloud.init()
// 云函数入口函数
const db = cloud.database()
// 云函数访问数据库上限为100
const MAX_LIMIT = 100
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  const listname = event.listName
  // 先取出集合记录总数
  const countResult = await db.collection(listname).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(listname).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,
      openid:wxContext.OPENID
    }
  })
}

 

2.调用云函数

方法一:直接调用
wx.cloud.callFunction({
  // 云函数名称
  name: ‘add‘,
  // 传给云函数的参数
  data: {
    a: 1,
    b: 2,
  },
})
.then(res => {
  console.log(res.result) // 3
})
.catch(console.error)

 

方法二:封装到utils.js,进行调用.
const getData = (sqlName) => {
    
}
?
module.exports = {
  getData: getData
}

 

 

微信小程序云开发,数据获取突破100条限制

上一篇:小程序基础操作小总结


下一篇:微信小程序一直转转不请求接口