官方文档解读:
<!-- 删除记录 --> <view class="guide" wx:if="{{step === 6}}"> <text class="headline">删除记录</text> <text class="p">1. 打开 pages/databaseGuide/databaseGuide.js 文件,定位到 onRemove 方法</text> <text class="p">2. 把注释掉的代码解除注释</text> <image class="code-image" src="../../images/code-db-onRemove.png" mode="aspectFit"></image> <text class="p">3. 点击下方按钮删除计数器</text> <button size="mini" type="default" bindtap="onRemove">删除记录</button> <div class="nav"> <button class="prev" size="mini" type="default" bindtap="prevStep" wx:if="{{counterId}}">上一步</button> <button class="next" size="mini" type="default" bindtap="nextStep">下一步</button> </div> </view>
wxml:
<button size="mini" type="default" bindtap="onRemove">删除记录</button>
js:
// pages/databaseGuide/databaseGuide.js const app = getApp() Page({ data: { step: 1, counterId: '', openid: '', count: null, queryResult: '', }, onLoad: function (options) { if (app.globalData.openid) { this.setData({ openid: app.globalData.openid }) } }, onRemove: function() { if (this.data.counterId) { const db = wx.cloud.database() db.collection('counters').doc(this.data.counterId).remove({ success: res => { wx.showToast({ title: '删除成功', }) this.setData({ counterId: '', count: null, }) }, fail: err => { wx.showToast({ icon: 'none', title: '删除失败', }) console.error('[数据库] [删除记录] 失败:', err) } }) } else { wx.showToast({ title: '无记录可删,请见创建一个记录', }) } }, })
因为数据库里面没有信息,所以执行 wx.showToast({ title: '无记录可删,请见创建一个记录', })
当数据库里面有记录的时候
先添加再删除的情况
界面里点击添加之后,打开云开发控制台,查看数据库栏目,会发现多出来一条记录,执行删除语句之后,再次打开云开发控制台,那条语句会被删除。
wxml:
<!-- 添加记录 --> <button size="mini" type="default" bindtap="onAdd">新增记录</button> <text class="p" wx:if="{{counterId}}">新增的记录 _id 为:{{counterId}}</text> <!-- 删除记录 --> <button size="mini" type="default" bindtap="onRemove">删除记录</button>
js:
// pages/databaseGuide/databaseGuide.js const app = getApp() Page({ data: { step: 1, counterId: '', openid: '', count: null, queryResult: '', }, onLoad: function (options) { if (app.globalData.openid) { this.setData({ openid: app.globalData.openid }) } }, onAdd: function () { const db = wx.cloud.database() db.collection('counters').add({ data: { count: 1 }, success: res => { // 在返回结果中会包含新创建的记录的 _id this.setData({ counterId: res._id, count: 1 }) wx.showToast({ title: '新增记录成功', }) console.log('[数据库] [新增记录] 成功,记录 _id: ', res._id) }, fail: err => { wx.showToast({ icon: 'none', title: '新增记录失败' }) console.error('[数据库] [新增记录] 失败:', err) } }) }, onRemove: function() { if (this.data.counterId) { const db = wx.cloud.database() db.collection('counters').doc(this.data.counterId).remove({ success: res => { wx.showToast({ title: '删除成功', }) this.setData({ counterId: '', count: null, }) }, fail: err => { wx.showToast({ icon: 'none', title: '删除失败', }) console.error('[数据库] [删除记录] 失败:', err) } }) } else { wx.showToast({ title: '无记录可删,请见创建一个记录', }) } }, })