美文网首页小程序
微信小程序云开发数据库操作删除记录

微信小程序云开发数据库操作删除记录

作者: 祈澈菇凉 | 来源:发表于2018-10-28 17:09 被阅读2653次

    官方文档解读:

      <!-- 删除记录 -->
      <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: '无记录可删,请见创建一个记录',
          })
        }
      },
    
    })
    
    

    http://recordit.co/vIBopA6jjo

    因为数据库里面没有信息,所以执行 wx.showToast({
            title: '无记录可删,请见创建一个记录',
          })
    

    当数据库里面有记录的时候

    先添加再删除的情况

    界面里点击添加之后,打开云开发控制台,查看数据库栏目,会发现多出来一条记录,执行删除语句之后,再次打开云开发控制台,那条语句会被删除。

    http://recordit.co/B9t7yTqaCW

    B9t7yTqaCW.gif

    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: '无记录可删,请见创建一个记录',
          })
        }
      },
    })
    

    原文作者:祈澈姑娘
    技术博客:https://www.jianshu.com/u/05f416aefbe1
    90后前端妹子,爱编程,爱运营,爱折腾。
    坚持总结工作中遇到的技术问题,坚持记录工作中所所思所见,欢迎大家加入群聊,一起探讨交流。

    相关文章

      网友评论

        本文标题:微信小程序云开发数据库操作删除记录

        本文链接:https://www.haomeiwen.com/subject/axsizftx.html