1. 程式人生 > >微信小程式:雲開發·初探四(資料庫操作)

微信小程式:雲開發·初探四(資料庫操作)

The course of true love never did run smooth.
真愛無坦途。

新建集合

1.開啟雲開發控制檯,資料庫

2.新增集合users

新增程式碼

onAdd: function () {
    const db = wx.cloud.database()
    db.collection('users').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) } }) },

這裡寫圖片描述

查詢記錄

 onQuery: function() {
    const db = wx.cloud.database()
    // 查詢當前使用者所有的 counters
    db.collection('users').where({
      _openid: this.data.openid
    }).get({
      success: res => {
        console.log(res);
        this.setData({
          queryResult: JSON.stringify(res.data, null
, 2) }) console.log('[資料庫] [查詢記錄] 成功: ', res) }, fail: err => { wx.showToast({ icon: 'none', title: '查詢記錄失敗' }) console.error('[資料庫] [查詢記錄] 失敗:', err) } }) },

這裡寫圖片描述

更新記錄

    onCounterInc: function() {
    const db = wx.cloud.database()
    const newCount = this.data.count + 1
    db.collection('users').doc(this.data.counterId).update({
      data: {
        count: newCount
      },
      success: res => {
        console.log(res);
        this.setData({
          count: newCount
        })
      },
      fail: err => {
        icon: 'none',
        console.error('[資料庫] [更新記錄] 失敗:', err)
      }
    })
  },

  onCounterDec: function() {
    const db = wx.cloud.database()
    const newCount = this.data.count - 1
    db.collection('users').doc(this.data.counterId).update({
      data: {
        count: newCount
      },
      success: res => {
        this.setData({
          count: newCount
        })
      },
      fail: err => {
        icon: 'none',
        console.error('[資料庫] [更新記錄] 失敗:', err)
      }
    })
  },

這裡寫圖片描述

刪除記錄

  if (this.data.counterId) {
      const db = wx.cloud.database()
      db.collection('users').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: '無記錄可刪,請見建立一個記錄',
      })
    }

這個官方的demo做的可以,通俗易懂