微信小程序云开发数据库操作

178 阅读2分钟

云数据库

image.png

云开发提供了一个 JSON 数据库,顾名思义,数据库中的每条记录都是一个 JSON 格式的对象。  
一个数据库可以有多个集合(相当于关系型数据中的表),集合可看做一个 JSON [数组],
数组中的每个对象就是一条记录,记录的格式是 JSON 对象。

关系型数据库 和 JSON数据库对比

image.png

认识云开发中的各项

  1. 环境ID

image.png

  1. 集合 存放数据的地方

image.png

操作数据库的准备工作

  1. 配置环境 在app.js中

image.png

操作数据库步骤

  1. 初始化(调用获取默认环境的数据库的引用)
const db = wx.cloud.database()
  1. 通过数据库引用上的 collection 方法获取一个集合的引用
const total = db.collection("集合名称")
  1. 可以简写成
    const db = wx.cloud.database().collection("集合名称")

数据库的 增删改查

try:成功时执行

try {
      let data = await db.add({
      // data 字段表示需新增的 JSON 数据
        data: {
          book: "西游记",
          author: "吴承恩"
        }
      })
      
//catch失败时执行

    } catch (error) {
      console.log(error);
    }
  1. 删除单个---删除多个---清空
    try {
      //单个删除
      let data = await db.doc("1d9eea8b6410731b000196ef163515f7").remove()
      //删除多个
      let data = await db.where({ book: "西游记" }).remove()
      //清空
      let data = await db.where({all:null}).remove()
    } catch (error) {
      console.log(error);
    }
  1. 修改一个---修改多个
    try {
      修改或更新某一个
      let data = await dbs.doc('93e4b6a06410730c04775bf33c7af153').update(
         {
           data: { name: "哈哈哈" }
         }
       )
      //批量修改/更新
      let data = await dbs.where({ book: "西游记" }).update(
        {
          data: { author: "孙悟空" }
        }
      )
    } catch (error) {
      console.log(error);
    }
  1. 查找一个---批量查找---查找全部
     try {
      //单个查询
      let data = await dbs.where({ _id: "4ae805bd641072f8000cfdab5acc1664" }).get()
      //批量查询
      let data = await dbs.where({ author: "孙悟空" }).get()
      //查询全部
      let data = await dbs.where({all:null}).get()
      console.log(data);
    } catch (error) {
      console.log(error);
    }