小程序云开发 —— 获取数据库集合里的所有数据
Posted mqy1023
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序云开发 —— 获取数据库集合里的所有数据相关的知识,希望对你有一定的参考价值。
直接在小程序前端请求
db
数据每次最多只能返回20条数据,云函数里请求数据每次最多只能返回100条数据
一、云函数中获取所有数据返回到前端
const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) =>
const db = cloud.database()
// 1,获取数据的总个数
let allCount = await db.collection('user').count()
allCount = allCount.total
// 2,通过for循环做多次请求,并把多次请求的数据放到一个数组里
let allData = []
for (let i = 0; i < allCount; i += 100) // 自己设置每次获取数据的量
let list = await db.collection('user').skip(i).get()
allData = allData.concat(list.data)
// 3, 把组装好的数据一次性全部返回
return allData
二、前端获取所有数据,用户上拉加载更多来最终获取所有的数据
const db = wx.cloud.database();
const _ = db.command;
let curPage = 0 // 当前数据第几页
Page(
data:
isNoMore: false, // 有没更多
pubList: []
,
onLoad()
this.getList()
,
getList()
const that = this
// 此处可以加上加载动画
db.collection('publish').where(
status: 0
).orderBy('creat', 'desc').skip(curPage * 20).limit(20).get(
success: function(res)
if (res.data.length < 20)
that.setData(
isNoMore: true
)
that.setData(
pubList: that.data.pubList.concat(res.data)
)
,
fail()
wx.showToast(
title: '获取失败',
icon: 'none'
)
)
,
onReachBottom() // 上拉加载更多
if (!this.data.isNoMore)
curPage += 1
this.getList()
,
onPullDownRefresh() // 下拉刷新
curPage = 0
this.setData( isNoMore: false ,
() =>
this.getList()
)
)
以上是关于小程序云开发 —— 获取数据库集合里的所有数据的主要内容,如果未能解决你的问题,请参考以下文章