zoukankan      html  css  js  c++  java
  • 关于小程序云开发数据库的增删改查操作

    先初始化数据库

    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)
    })
  • 相关阅读:
    使用 ALinq 支持多种数据库
    jsData 使用教程(-) 加载数据
    java中的标准I/O流与文件1(J2SE入门16)
    java中的反射(J2SE入门20)
    java中的java5.0的新特性2(J2SE入门22)
    java中的网络入门2(J2SE入门19)
    java中的标准I/O流与文件2(J2SE入门17)
    java中的Java5.0 的注释 (Annotation)、多线程包1(J2SE入门25)
    java中的网络入门1(J2SE入门18)
    java中的java5.0的泛型1(J2SE入门23)
  • 原文地址:https://www.cnblogs.com/jane2160/p/11806526.html
Copyright © 2011-2022 走看看