微信小程序云开发,数据库“增”、“删”、“改”、“查”操作

您所在的位置:网站首页 离石马增云书法学校马增云照片 微信小程序云开发,数据库“增”、“删”、“改”、“查”操作

微信小程序云开发,数据库“增”、“删”、“改”、“查”操作

2024-07-17 02:21| 来源: 网络整理| 查看: 265

目录 前言云开发数据库创建数据库数据库操作一、“增”二、“查”三、“删”四、“改” 总结

前言

因为项目需要刚接触小程序,算是个萌新,写这篇文章是为了巩固一下所学的东西(其实就是闲着太无聊了😂),代码是靠自己理解的,如果有错,欢迎各位指正( ̄︶ ̄*))

废话不多说了,嘿喂狗~~

云开发数据库

首先说到数据库操作就会让人想到那四个字 “增”、“删”、“改”、“查” 那么在进行数据操作之前应该先干嘛呢

没错就是先新建一个数据库啊,没数据库咋操作啊(bushi(●’◡’●))

创建数据库

首先,打开微信开发者工具新建一个项目 在这里插入图片描述 如图,AppID一定不能用测试号!!!,不然无法使用云开发 小程序id有需要自行注册,这里就不多说啦。

=>微信公众平台官网 { console.log('添加成功',res) this.setData({ //将增加的值添加到当前页面的变量里 number: res.number, dataId: res._id, }) }).catch(err => { console.log('添加失败',err)//失败提示错误信息 })

个人比较喜欢用then函数,也可以使用开发文档提供的回调函数success、fail,这里就不演示了。 在这里插入图片描述

二、“查”

由于删除和修改需要用到查找就先讲数据库的查找了 构建查询条件有好几个方法,我这里就用我用的最顺手的where了,如果有需要可以到这个链接找找看

let db = wx.cloud.database() //设置数据库 let userCollection = db.collection('test_user') //单引号里为刚刚新建的集合名 userCollection.where({ //where其实是向集合里查询是否有里面这对数据,如果有就返回这条数据记录 //一般是使用openid(一个用户只有一个openid,具有唯一性,方便查询操作) //但目前获取openid需要使用云函数,所以这里就不细讲了,我这里使用每条记录都带有的_id来进行查询 _id: this.data.dataId }).get().then(res => { console.log('数据查询成功',res)//将返回值存到res里 this.setData({ //将查询到的数据记录里的number的值存放到data.number number: res.data[0].number }) }).catch(err => { console.log('查询失败',err)//失败提示错误信息 })

查询结果如下图,得到的返回值res里的data[]是查询到的记录,因为我这只有一条记录符合查询条件,所以data[]数组的长度为1,即data[0]就是我们查询到的数据。 在这里插入图片描述

三、“删”

数据的删除是基于查询之后,只有查到数据在哪才能进行删除操作。 除了删库(bushi)(* ̄3 ̄)) 这里使用的是remove()进行删除操作 remove只支持通过匹配 where 语句来进行删除操作!!!

let db = wx.cloud.database() //设置数据库 let userCollection = db.collection('test_user') //单引号里为刚刚新建的集合名 userCollection.where({ //先查询 _id: this.data.dataId }).remove().then(res => { console.log('删除成功') this.setData({ //数据库删除了,那也得将data里的值也删了,不然数据容易出错 number: ‘ ’ }) }).catch(err => { console.log('删除失败',err)//失败提示错误信息 })

执行完之后数据库的这条数据就没了,如下图

remove()有个值得注意的地方,就算返回删除成功也不一定代表想要删除的记录已经被删除了,有可能通过where查询到的记录为0个,此时即使提示成功,被删除的记录数也为0。

在这里插入图片描述

四、“改”

终于到最后的数据修改了,修改用的是update(),update()用起来就像where()和add()的结合 代码如下

let db = wx.cloud.database() let userCollection = db.collection('test_user') userCollection.where({ //先查询 _id: this.data.dataId }).update({ data: { number: 2, num: 2, } }).then(res => { console.log('更新成功') this.setData({ number: 2, num: 2, }) }).catch(err => { console.log('更新失败',err)//失败提示错误信息 })

这是数据更新前 在这里插入图片描述 这是更新之后 在这里插入图片描述 我们可以看到,update(),不仅可以修改记录里的值,还能添加记录里没有的键值对,完成了add()的工作,所以我才说update()就像where()和add()的结合。

update()和remove()有一样需要注意的点,就算返回更新成功也不一定代表想要更新的记录已经被更新了,有可能通过where查询到的记录为0个,此时即使提示成功,更新的记录数也为0。

总结

以上是我对于微信小程序云开发数据库操作的简单介绍,本人是因为比赛项目刚刚接触小程序没多久,是个萌新也还在学习阶段,以上所述仅仅是个人看法,如有描述不当,或有错误,欢迎各位指正。最后附上我小程序项目的开源地址吧 github gitee 还没完成,不过之后应该没多少时间写了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3