一、分清几个概念

1、云开发,简言之就是可以直接用微信小程序开发者工具完成一个从前台到后台的小程序项目。

2、小程序端,使用云开发的时候,miniprogram中写的代码可以叫做小程序端(真实是我不知道可以不可以这么认为)。(在创建小程序项目勾选小程序云开发会自动生成miniprogram文件和cloudfunctions文件)

3、云函数,cloudfunctions中写的就是云函数了。(在创建小程序项目勾选小程序云开发会自动生成miniprogram文件和cloudfunctions文件)

4、云数据库和云存储,可以看做数据库了只是换了一个名字。云数据库里面存放集合(官方名称),集合里面存放记录(官方名称);云存储中可以存放图片等

二、云数据库中手动创建的集合,权限设置为’所有用户可读,仅创建者可读写’

三、小程序端连接云数据库实现增删改查(基础的),然后小程序端可以直接调用云数据库中的数据

1.小程序端一次增加一条或者多条记录

wx.cloud.database().collection('test').add({data: {字段名1: 值1,字段名2: 值2 ... ...}}).then((res) => {console.log(res)//返回的res里面有_id的值,这个_id是系统自动生成的。}).catch(err=>{console.log(err)})/***若想已经存在的记录增加字段,就要用到update了。*/

2.小程序端查找一条或者多条或是全部记录

//一、获取某一条记录
wx.cloud.database().collection('test').doc('_id的值').get()
.then(res => {console.log(res)}).catch(err => {console.log(err)})
/*_id的值可以从云数据库中的集合中的记录中,复制自己想要的字段里面的_id的值。*///二、获取某个集合中的所有记录,但是小程序端中默认只能获取20条数据且最多是20条wx.cloud.database().collection('test').get().then(res => {console.log(res)//返回的res里面有_id的值,这个_id是系统自动生成的。}).catch(err => {console.log(err)})// 三、where查询,指定查询条件
//1.使用数据库集合查询wx.cloud.database().collection('test').where({字段名1:值1}).get().then(res=>{console.log(res)})//返回的res里面有_id的值,这个_id是系统自动生成的。
/*值的类型需要与云数据库表中的记录中的相字段名的值一致,如都是Number类型。查询条件可以有多个,
用逗号隔开。*///2.使用数据库操作符查找
const db = wx.cloud.database()
const _ = db.command
db.collection('test').where({字段名: _.eq(value)}).get().then(res=>{console.log(res)})
/*筛选出集合中与value值相等的记录,数据类型也要一致*/// 四、指定返回结果中记录需返回的字段
wx.cloud.database().collection('test').field(
{字段名1: true,字段名2:true,字段名3:false... ...}).get().then(res => {console.log(res.data)}).catch(err => {console.log(err)})
/**对象的各个字段名表示要返回或不要返回的字段,value 传入 true|false(或 1|-1)表示要
返回还是不要返回。但是没有该字段名但是值为true,不会报错只会输出'_id'的数组(自测得)。**/

3.小程序端删除一条记录

wx.cloud.database().collection('test').doc('_id的值')
.remove().then((res) => {console.log(res.stats)}).catch(err=>{console.log(err)})
/*_id的值可以从云数据库中的集合中的记录中复制自己想要的字段里面的_id的值。*/

4.更新一条或者多条记录

//1.update,不会删除原有的添加新字段
wx.cloud.database().collection('test').doc('_id的值').update({data:{字段名1: 值1,字段名2:值2,字段名3:值3... ...}}).then((res) => {console.log(res.stats)}).catch(err=>{console.log(err)})
/*_id的值可以从云数据库中的集合中的记录中复制自己想要的字段里面的_id的值。*///2.set,会删除原有的的字段,但不会删除系统自动生成的字段,
/*如果不想原有的某些字段被删就要set数据的时候带上*/
wx.cloud.database().collection('test').doc('_id的值').set({data:{字段名1: 值1,字段名2:值2,字段名3:值3... ...}}).then((res) => {console.log(res.stats)}).catch(err=>{console.log(err)})
/*_id的值可以从云数据库中的集合中的记录中复制自己想要的字段里面的_id的值。*/

5.分页显示后,过滤数据

data: {list:[],num:2},
//1.onLoad中从云数据库中获取集合中的所有数据/*** 生命周期函数--监听页面加载*/
onLoad: function (options) {// 小程序端默认只能获取20条数据且最多是20条wx.cloud.database().collection('test').skip(0).limit(20).get().then(res => {console.log('获取成功', res)this.setData({list: res.data})}).catch(res => {console.log('获取失败', res)})
},
//2.页面上拉加载时,
/*** 页面上拉触底事件的处理函数*/
onReachBottom: function () {console.log('加载更多。。。')wx.cloud.database().collection('test').skip((this.data.num - 1) * 20).limit(20).get().then(res => {console.log('获取成功', res)this.setData({// 拼接list: this.data.list.concat(res.data),num: this.data.num + 1})}).catch(res => {console.log('获取失败', res)})
},
//3.过滤数据
/*test.wxml中判断获取的数组中是否有某字段,如,wx:if="{{item.isAlreadyPay?ture:false}}",
如果该字段存在在数据就显示否则就不显示,前提是已经用isAlreadyPay字段记下了用户的操作了。*/

上拉加载更多后台数据_微信小程序端操作云数据库相关推荐

  1. 上拉加载更多后台数据_6-7【微信小程序全栈开发课程】记录页面(七)--分页加载记录数据...

    现在是一次性加载所有的记录数据,数据多的时候,会加载比较慢,所以我们改成分页加载,一次最多加载15条数据 每次拉倒底部都会自动加载下一页的数据,知道所有的数据加载完成 1.添加data变量 编辑rec ...

  2. 微信小程序下拉刷新列表onPullDownRefresh;微信小程序上划加载列表onReachBottom;uni-app微信小程序下拉加载数据;uni-app微信小程序上划页面加载数据

    需求:微信小程序列表加载有两种方式,分别是按住页面下拉加载数据数据(触发onPullDownRefresh)和直接上划滚动页面到底部加载数据(触发onReachBottom函数). 本文主要是使用上划 ...

  3. 下拉刷新及上拉加载更多的ListView

    PullToRefreshListView 自定义ListView 带简洁的下拉刷新及上拉加载更多功能 PullToRefreshListView 实现过程 使用方法 GIF效果 结束语 实现过程 继 ...

  4. js实现上拉加载更多

    先贴代码: <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF- ...

  5. java h5 上拉加载更多_移动端H5页面上拉加载更多功能实现(二)

    之前已经写过一篇关于上拉加载更多的文章,那个主要是根据滚动实现分页向后台发起请求实现.这次实现方式为后台返回所有需要加载的数据,前端这边做视觉上的分页效果.实现原理也是根据滚动距离触发加载更多的条件. ...

  6. Flutter下拉刷新,上拉加载更多数据

    下拉刷新 很简单,直接使用 RefreshIndicator 组件, onRefresh 为重新获取数据的方法 Widget build(BuildContext context) {return S ...

  7. 上拉加载_如何用Vue + Mint UI实现上拉加载更多

    引言: 上拉加载更多在移动端不论是在 app 里面还是在页面中都是必不可少的,以下是 mint-ui 中上拉加载更多的总结. 一.在项目中使用 mint-ui 需要先安装 查看官网 (1)安装:npm ...

  8. uni-app 数据上拉加载更多功能

    实现上拉加载更多 打开项目根目录中的 pages.json 配置文件,为 subPackages 分包中的商品 goods_list 页面配置上拉触底的距离: "subPackages&qu ...

  9. RecyclerView的基础使用 +点击添加列表数据 +下拉刷新、上拉加载更多

    一.RecyclerView的基础使用. 第一步:添加recyclerview控件. 第二步:创建布局文件(xml) + 单独的类控制布局里面的控件(MyViewHolder). 第三步:创建一个适配 ...

最新文章

  1. C++11之final关键字
  2. python比excel优势-python数据分析相对于bi和excel的优势是什么?
  3. vCenter 6.0安装部署
  4. Python入门之数据类型
  5. 《程序员修炼之道》笔记(八)
  6. oracle统计学生成绩c,Oracle11g学生成绩管理系统.docx
  7. centos7安装docker并设置开机自启以及常用命令
  8. kubernetes存储系统介绍(Volume、PV、dynamic provisioning,阿里云服务器nfs创建pv,hostpath创建pv)
  9. maven3实战之设置HTTP代理
  10. 蓝桥杯集训之STL和algorithm
  11. Javascript特效:音乐导航
  12. docker 启动相关 命令
  13. VB2010实例(1)_字符大小写转换
  14. 联想计算机wifi卸载,win10联想笔记本电脑wifi功能消失了怎么办
  15. Linux 中/proc目录下文件详解
  16. 《CSS世界》学习感想(持续更新)
  17. 如何批量给 Word、Excel、PDF、PPT 文档设置文件打开密码和删除密码
  18. 数据清洗整理基本操作(R:dplyr、tidyr、lubridate)
  19. 2021年团体程序设计天梯赛-总决赛 L3-2 还原文件
  20. linux电子数码相册实验报告,Linux实验报告.doc

热门文章

  1. Windows Phone 7 开发积累_04
  2. java keyadapter_在java中使用keyAdapter和keyEvent时出错
  3. linux:vi 替换命令
  4. mpvue 小程序 页面跳转获取参数
  5. ARCSDE的直接连接(SQLSERVER)
  6. flutter webview浏览器及与js交互、打开第三方app
  7. C# CSV文件读取(带换行单元格中内容处理)
  8. JDK1.7和JDK1.8中HashMap是线程不安全的,并发容器ConcurrentHashMap模型
  9. 2797:最短前缀 Trie
  10. 万能点位图软件_红色网格衣+很多漂亮的花边像素图,绣手帕花边的十字绣图...