微信小程序云开发---初始化云开发与数据库增删改查

205 阅读2分钟

一. 初始化云开发

  • 点击小程序主页面云开发

image.png

  • 免费生成数据库与环境id

image.png

  • 点击数据库,创建一个集合

image.png

  • 修改app.js中的env设置为环境id
// app.js
App({
  onLaunch: function () {
    if (!wx.cloud) {
      console.error('请使用 2.2.3 或以上的基础库以使用云能力');
    } else {
      wx.cloud.init({
        // env 参数说明:
        //   env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
        //   此处请填入环境 ID, 环境 ID 可打开云控制台查看
        //   如不填则使用默认环境(第一个创建的环境)
        env: '此处填写环境ID',
        traceUser: true,
      });
    }
    this.globalData = {};
  }
});

二. 实现增删改查

  • 注意所有操作需要先指定集合
  • 在当前页面js中指定集合
 // pages/list/list.js
let db = wx.cloud.database().collection('想要操作的集合名字')

1.添加

  • 添加数据
  • 注意数据必须在data中包裹
async add(e) {
    //操作数据库
    let result = await db.add({
        data:{
            name:'张三'
            age:18
        }
    }).catch(err => {
      console.error(err)
    })
    // 返回操作相关提示
    console.log(result);
    // 数据库操作完成后更新视图
    this.render()
  },

2.删除

  • 清空所有数据
async del(e) {
    //操作数据库
    let result = await db.where({
      all: null
    }).remove().catch(err => {
      console.error(err)
    })
    // 数据库操作完成后更新视图
    this.render()
  },
  • 删除指定条件的数据 (亦可进行批量删除操作,逻辑同理,在此不做演示)
async del(e) {
    //操作数据库
    let result = await db.where({
      _id:e.currentTarget.id
    }).remove().catch(err => {
      console.error(err)
    })
    // 数据库操作完成后更新视图
    this.render()
  },

3. 修改

  • doc查询id修改
async edit(e) {
    //操作数据库
    let result = await db.doc("此处为id值").update({ 
        data:{ 
            name: '李四',
            age:26
        } 
    }).catch(err => {
      console.error(err)
    })
    // 数据库操作完成后更新视图
    this.render()
  },
  • where条件修改
  async edit() {
    //获取集合下属数据
    let result = await db.where({
        name:张三
    }).update({ 
        data:{ 
            name: '李四',
            age:26
        } 
    }).catch(err => {
      console.error(err)
    })
    //result.data为所获取的数据
    console.log(result.data);
  },

4.查询

1. 查询获取所有数据

  async search() {
    //获取集合下属数据
    let result = await db.get().catch(err => {
      console.error(err)
    })
    //result.data为所获取的数据
    console.log(result.data);
  },

2. 条件查询 (返回符合条件的数据)

  • where条件查询
  async search() {
    //获取集合下属数据
    let result = await db.where({name:'张三'}).get().catch(err => {
      console.error(err)
    })
    //result.data为所获取的数据
    console.log(result.data);
  },
  • doc查询id
  async search() {
    //获取集合下属数据
    let result = await db.doc("此处为id值").get().catch(err => {
      console.error(err)
    })
    //result.data为所获取的数据
    console.log(result.data);
  },