關於小程序雲開發數據庫的增刪改查操作


 

先初始化數據庫

const db = wx.cloud.database()

 

1. 插入操作

    // collection('user') 獲取到數據庫中名為 user 的集合
    // add 插入操作
    db.collection('user').add({
      // 要插入的數據
      data: {
        name: 'Tom',
        age: 18
      }
    }).then(res => {
      // 插入數據成功
      console.log(res)
    }).catch(err => {
      // 插入數據失敗
      console.log(err)
    })

注意:

插入數據庫的數據為額外有兩個id:_id(數據的主鍵id),_openid(這條數據的創建者的openid);

直接從雲數據庫控制台插入的數據是沒有openid的

 

2. 查詢操作

    // where 查詢操作
    db.collection('user').where({
      // 查詢條件
      name: 'Tom'
    })
    .get()
    .then(res => {
      // 查詢數據成功
      console.log(res)
    }).catch(err => {
      // 查詢數據失敗
      console.log(err)
    })

 

3. 更新操作

    // update 更新操作
    // primary key 要更新的那條數據的主鍵id
    db.collection('user').doc('primary key')
    .update({
      // 想要更新后的數據
      data: {
        age: 20
      }
    }).then(res => {
      // 更新數據成功
      console.log(res)
    }).catch(err => {
      // 更新數據失敗
      console.log(err)
    })

 

4. 刪除操作

    // remove 刪除操作
    // primary key 要刪除的那條數據的主鍵id
    db.collection('user').doc('primary key')
    .remove()
    .then(res => {
      // 刪除數據成功
      console.log(res)
    }).catch(err => {
      // 刪除數據失敗
      console.log(err)
    })

注意:此方法只適用於一次刪除一條數據,若想實現批量刪除數據,則要使用雲函數,如下

 

5. 使用雲函數批量刪除數據

5.1 新建雲函數(batchDelete),在雲函數的入口文件中 

// 雲函數入口文件
const cloud = require('wx-server-sdk')
// 初始化雲數據庫
const db = wx.cloud.database()

cloud.init()

// 雲函數入口函數
exports.main = async (event, context) => {
  try {
    // 找到集合user中name為Tom的數據並remove刪除
    // 因為數據庫刪除是異步操作,所以要加await
    return await db.collection('user').where({
      name: 'jane'
    }).remove()
  } catch (err) {
    console.error(err)
  }
}

注意:雲函數創建或有任何修改后,都需要手動部署到雲端后才可生效

 

5.2 在page的js中調用這個雲函數

// callFunction 調用雲函數
wx.cloud.callFunction({
  // 雲函數名稱
  name: 'batchDelete'
}).then(res => {
  console.log(res)
}).catch(err => {
  console.error(err)
})

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM