小程序云开发 —— 获取数据库集合里的所有数据

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()
			)
      
)

以上是关于小程序云开发 —— 获取数据库集合里的所有数据的主要内容,如果未能解决你的问题,请参考以下文章

小程序批量删除云数据库里的数据

微信小程序云开发之调用服务端API删除云数据库集合

微信小程序云开发之调用服务端API删除云数据库集合

小程序云开发获取不到数据库的记录

小程序云开发

微信小程序云开发— “云数据库初始化”