微信小程序云开发(云数据库篇)

时间:2025-02-28 08:12:45
  • 初始化(调用获取默认环境的数据库的引用)
     const db = wx.cloud.database()
    
  • 通过数据库引用上的 collection 方法获取一个集合的引用
    const todos = db.collection('集合名')
    
  • 在集合对象上调用 add 方法往集合中插入一条记录
    	db.collection('集合名').add({
    	  // data 字段表示需新增的 JSON 数据
    	  data: {
    	    name: "alice",
    	    age: 18
    	  }
    	})
    	.then(res => {
    	  //成功的处理
    	  console.log(res)
    	}).catch(err => {
    		//失败的处理
    	})
    
  • 记录和集合上都有提供 get 方法用于获取单个记录或集合中多个记录的数据
    //获取单条数据
    db.collection('集合名').doc('数据id').get().then(res => {
      //  包含该记录的数据
      console.log(res.data)
    })
    
    
    //获取多条记录
    db.collection('集合名').where({
      name : 'alice'
    })
    .get({
      success: function(res) {
        //  是包含以上定义的两条记录的数组
        console.log(res.data)
      }
    })
    
  • 使用 update 方法可以只更新指定的字段,其他字段不受影响。
     db.collection('集合名').doc('数据id').update({
      // data 传入需要局部更新的数据
      data: {
        name : 'alice'
      },
      success: function(res) {
        console.log(res.data)
      }
    })
    
    
    //批量更新
    //在云函数,可通过 where 语句选取多条记录执行删除
    const cloud = require('wx-server-sdk')
    const db = cloud.database()
    const _ = db.command
    
    exports.main = async (event, context) => {
      try {
        return await db.collection('集合名').where({
          name : 'alice'
        }).update({
          data: {
            age:100
          },
        })
      } catch(e) {
        console.error(e)
      }
    }
    
  • 对记录使用 remove 方法可以删除该条记录
    //删除单条记录
    db.collection('集合名').doc('数据id').remove({
      success: function(res) {
        console.log(res.data)
      }
    })
    
    
    //多条删除
    //在云函数,可通过 where 语句选取多条记录执行删除
    const cloud = require('wx-server-sdk')
    const db = cloud.database()
    const _ = db.command
    
    exports.main = async (event, context) => {
      try {
        return await db.collection('集合名').where({
          name : 'alice'
        }).remove()
      } catch(e) {
        console.error(e)
      }
    }