微信小程序 - - 云开发の数据库学习笔记

一、学习前的准备和了解

需要安装微信小程序开发工具,在主机上配置Node.js环境,数据库的开发指引

类型 解释
数据库 云开发函数可用当前环境对应的数据库(也可根据需要用不同数据库)(对应MYSQL的数据库)(取值Object.xxx)
集合 数据库中多个记录的集合(对应MYSQL的表)(取值array[0])
文档 数据库中的一条记录(对应MYSQL的行row)(取值Object.xxx)
字段 数据库中特定记录的值(对应MYSQL的行col)(取值string/int/float)
命令 特定的数据库查询命令,大于、小于、等于

二、增删改查

注意:在进行增删改操作时,不能够操作在控制台新增的记录(因为只有读的权限,没有写的权限)

在这里插入图片描述

2.1.创建集合并获取引用
// 创建一个名为demoList的集合

在这里插入图片描述

// 在全局初始化数据库,全局(Page或Component外面)
const db = wx.cloud.database()
// 在相应函数中获取集合引用,局部(某个函数中)
const todos = db.collection('demoList')
//使用Promise链式调用,解决回调地狱的问题,then其实就是进行回调
db.collection("demoList").get().then(res=>{
   
}).then(res=>{
       //执行成功时调用
}).catch(err=>{
      //执行失败时调用
})      
2.2.增加
2.2.1.增加一条记录 - - get
addData(){
   
  //为了防止用户多次操作,点击按钮一次获取后就不能再次操作了
  wx.showLoading({
   
    title: '数据加载中...',
    mask:true   //必选项
  })
  //往云数据库插入时间(Date)类型数据处理
  let date="2021-2-4 11:30";
  let transdate=new Date(Date.parse(date.replace(/-/g,  "/")));
  db.collection("demoList").add({
   
    data:{
   
      name:'华华',
      age:22,
      school:'蓝翔技术学院',
      graduatetime:transdate,
      majorcourse:["厨师","洗剪吹","挖掘机"]
    },
  }).then(res=>{
     //添加成功时返回的是id值
    console.log("add",res)
    wx.hideLoading()  //添加数据完成之后取消数据加载...
  })
},
2.3.删除
2.3.1.根据id删除一条记录 - - delete
deleteData(e){
   
  db.collection("demoList").doc("859059a56195f6430691a50a747df246").remove()  //根据id删除一条数据
  .then(res=>{
   
    console.log(res)   //修改成功时返回的是updated: 1,修改状态
  })
},

注意:在小程序中没有权限删除多条记录,只能通过id,可以通过云函数实现

2.4.修改
2.4.1.根据id修改记录中的字段 - - update
updateData(e){
   
  // update方法:局部更新一个或多个记录
  db.collection("demoList").doc("859059a56195f6430691a50a747df246").update({
       //根据id修改数据
    data:{
   
      name:'蔡徐坤'
    }
  }).then(res=>{
   
    console.log(res)   //修改成功时返回的是updated: 1,修改状态
  })
},

注意:在小程序中没有权限使用where条件查询修改记录,只能通过id,可以通过云函数实现
在这里插入图片描述

2.4.2.根据id修改记录中的字段 - - set
updateData(e){
   
  // set方法:替换更新一个记录,将原字段都删除,只留下修改后的字段和id
  db.collection("demoList").doc("859059a56195f6430691a50a747df246").set({
       //根据id修改数据   
    data:{
   
	  name:'蔡徐坤'
	}
  }).then(res=>{
   
    console.log(res)   //修改成功时返回的是updated: 1,修改状态
  })
},
2.5.查询
2.5.1.查询所有记录 - - get
getData(){
   
  db.collection("demoList").get().then(res=>{
   
    this.setData({
   
      dataList:res.data,
    })
  })
}
2.5.2.根据id查询记录 - - doc.get
// 只有一条数据会将其存放到对象中
db.collection("demoList").doc("9e7190f16194a447064a59d7494022ee").get()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值