写在前面
本篇文章是微信小程序开发入门的第十七篇,介绍小程序云开发之数据库删除一条数据
数据库:删除一条数据
首页是数据库删除记录云函数的编写,打开cloudfunctions\fruit\index.js文件,引入数据库删除记录方法,增加的代码如下:
...
const del = require('./del/index');
// 云函数入口函数
exports.main = async (event, context) => {
switch (event.type) {
...
case 'del':
return await del.main(event, context);
}
}
同时新建文件:cloudfunctions\fruit\del\index.js,编写数据库删除记录的方法,需要传入参数:记录id,代码如下,代码编写完成后依旧需要上传并部署:
const cloud = require('wx-server-sdk');
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
});
const db = cloud.database();
// 删除数据库一条记录云函数入口函数
exports.main = async (event, context) => {
try {
await db.collection('fruit').doc(event.id)
.remove();
return {
success: true,
msg: '删除成功!'
};
} catch (e) {
return {
success: false,
msg: '删除失败!'
};
}
};
然后是在小程序端调用这个云函数,我们已经在详情页面预留了删除按钮,所以打开miniprogram\pages\fruit-detail\fruit-detail.wxml文件,给删除按钮添加一个监听手指落下的事件:
<view class="del_btn" bindtap="onDelItem">
删除
</view>
接着打开miniprogram\pages\fruit-detail\fruit-detail.js文件,编写onDelItem方法,代码中使用了wx.showModal方法,是小程序的模态弹框,会弹出一个确认框,提示用户“是否确定删除?”,模态框的更多信息可以查看官方文档-模态对话框了解,代码如下:
onDelItem() {
let {
_id,
name
} = this.data.fruitDetail
wx.showModal({
title: '提示',
content: `确定删除${name}?`,
success(res) {
if (res.confirm) {
wx.cloud.callFunction({
// 云函数名称
name: 'fruit',
// 传给云函数的参数
data: {
type: 'del',
id: _id,
},
})
.then(res => {
const {
success,
msg
} = res.result
if (success) {
wx.redirectTo({
url: `/pages/index/index`,
})
} else {
wx.showToast({
title: msg,
icon: 'error',
duration: 2000
})
}
})
.catch(err => {})
} else if (res.cancel) {}
}
})
}
至此数据库删除一条记录的代码就写完了,我们尝试删除,随便点开一条记录后,点击删除按钮,跳出如下提示:
点击确定后可以看到Network-Cloud调用了云函数,并且显示调用成功,且页面也跳转回了列表页,并且刚刚删除的数据也没了:
到此,数据库增删改查我们都已学完
写在最后
以上就是小程序云开发之数据库删除一条记录的全部内容