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

前言

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

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


云开发数据库

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

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


创建数据库

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

=>微信公众平台官网<=

项目新建好后点击云开发
在这里插入图片描述
先将这个环境复制下来,等会要用!
在这里插入图片描述

然后按照图里的顺序新建一个集合,因为我这已经有test_user集合了就不新建了。
在这里插入图片描述
打开app.js,将刚刚复制的字符串粘贴到下图位置
在这里插入图片描述

//初始化云环境
if (!wx.cloud) {
      console.error('请使用 2.2.3 或以上的基础库以使用云能力');
    } else {
      wx.cloud.init({
        env: '把刚刚复制的那串字符粘贴到这里',
        traceUser: true,
      });
    }

到这已经完成了数据库的创建并配置到小程序中的操作了,接下来就是“增”、“删”、“改”、“查”的操作


数据库操作

数据库新建完成了就该进行操作了

一、“增”

先选中要操作的集合代码如下

let db = wx.cloud.database() //设置数据库
let userCollection = db.collection('test_user') //单引号里为刚刚新建的集合名
userCollection.add({
	data: {
    	number: 1,
    }
}).then(res => {
	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
还没完成,不过之后应该没多少时间写了。

  • 30
    点赞
  • 256
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
微信小程序云开发中,用户可以通过数据库API进行增删操作。首先,需要获取数据库的引用\[2\],可以使用以下代码进行初始化: ```javascript const db = wx.cloud.database(); ``` 接下来,需要获取云端数据的集合,可以使用以下代码: ```javascript const products = db.collection("products"); ``` 这里的"products"是数据库的名称,你需要根据自己的数据库名称进行修\[2\]。 然后,可以使用云开发的数据库添加方法向云数据新数据。例如,可以在提交表单的事件处理函数中使用以下代码: ```javascript onSubmit: function (res) { products.add({ data: { name: res.detail.value.name, price: res.detail.value.Price, dec: res.detail.value.dec } }).then(res => { console.log(res) }) } ``` 在上述代码中,我们使用了`products.add()`方法向数据库中添加数据。`res.detail.value`表示表单中的值,你可以根据自己的需求修字段名\[2\]。 除了添加数据,云开发还支持其他的操作,如除数据、修数据和询数据。你可以根据具体需求使用相应的API进行操作。 #### 引用[.reference_title] - *1* *2* *3* [微信小程序云开发增删](https://blog.csdn.net/m0_74020066/article/details/129733648)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想不到名字的小杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值