美文网首页
【六】10分钟精通微信小程序 | 增删改查

【六】10分钟精通微信小程序 | 增删改查

作者: 红色火苗 | 来源:发表于2019-03-22 11:42 被阅读0次

    【单条数据修改】

    更新数据

    image.png

    更新某个字段:例如将状态改为已完成。

    • update 方法
    db.collection('todos').doc('todo-identifiant-aleatoire').update({
      // data 传入需要局部更新的数据
      data: {
        // 表示将 done 字段置为 true
        done: true
      },
      success(res) {
        console.log(res.data)
      }
    })
    
    
    • db.command 更新
    • 增加删除值、重置值、添加删除数组元素、删除字段


      image.png

    比如我们可以将一个待办事项的进度 +10%:

    const _ = db.command
    db.collection('todos').doc('todo-identifiant-aleatoire').update({
      data: {
        // 表示指示数据库将字段自增 10
        progress: _.inc(10)
      },
      success(res) {
        console.log(res.data)
      }
    })
    

    inc 具有原子性,不存在并发问题

    如果字段是个数组,那么我们可以使用 push、pop、shift 和 unshift 对数组进行原子更新操作,比如给一条待办事项加多一个标签:

    const _ = db.command
    db.collection('todos').doc('todo-identifiant-aleatoire').update({
    data: {
      tags: _.push('mini-program')
    },
    success(res) {
      console.log(res.data)
    }
    })
    

    【多数据修改】

    • 如果需要更新多个数据,需在 Server 端进行操作(云函数),
    • 在 where 语句后同样的调用 update 方法即可,
    • 比如将所有未完待办事项的进度加 10%:
    // 使用了 async await 语法
    const cloud = require('wx-server-sdk')
    const db = cloud.database()
    const _ = db.command
    
    exports.main = async (event, context) => {
      try {
        return await db.collection('todos').where({
          done: false
        })
          .update({
            data: {
              progress: _.inc(10)
            },
          })
      } catch (e) {
        console.error(e)
      }
    }
    

    推荐微信小程序阅读:

    【十一】 10分钟精通微信小程序 | 云函数管理端
    【十】 10分钟精通小程序 | 云函数异步返回结果
    【九】10分钟精通微信小程序 | 云函数
    【八】 10分钟精通微信小程序云存储 | 云存储
    【七】10分钟精通微信小程序 | 增删改查
    【六】10分钟精通微信小程序 | 增删改查
    【五】10分钟精通微信小程序 | 云数据库增删改查
    【四】10分钟精通微信小程序 | 云控制台
    【三】10分钟精通微信小程序 | 光速入门
    【二】10分钟精通微信小程序云开发 | 多图上传并存储路径到云数据库
    【一】10分钟精通微信小程序 | 获取用户openid

    相关文章

      网友评论

          本文标题:【六】10分钟精通微信小程序 | 增删改查

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