数据库方法 / 小程序设计与开发 #10

in STEEM CN/中文3 years ago

文档

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

云开发数据库提供以下几种数据类型:
String:字符串
Number:数字
Object:对象
Array:数组
Bool:布尔值
Date:时间
Geo:多种地理位置类型,详见下
Null

1. app.js中初始化
wx.cloud.init({
  // env 参数说明:
  //   env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
  //   此处请填入环境 ID, 环境 ID 可打开云控制台查看
  //   如不填则使用默认环境(第一个创建的环境)
  env: 'cloud1-1gtoo4qib16a1e69',
  traceUser: true,
})

2. 增加数据 Promise 风格
let db = wx.cloud.database();
db.collection('news').add({
  // data 字段表示需新增的 JSON 数据
  data: {
    title:"小程序开课啦",
    time:"2021.3.12",
    section1:"微信小程序开发与设计已在链课上推出。",
    section2:" 链课: https://moochain.net",   
    id:"008"
  }
})
.then(res => {
  console.log(123, res)
})

//回调的写法
addData(){
  let db = wx.cloud.database();
  db.collection('course').add({
    data:{
      name: "c#",
      time: "2019",
      long: "325648"
    },success(res){console.log(111,res);},
    fail(err){console.log(222,err);},
    complete(res){console.log(333,res);}
  });
  },

//async-await写法 推荐写法
addData: async function(){
  let db = wx.cloud.database()
  let res = await db.collection('test1').add({
      data: {
        title:"小程序开课啦",
        time:"2021.3.12",
        section1:"微信小程序开发与设计已在链课上推出。",
        section2:" 链课: https://moochain.net",   
        id:"008"
      }
    })
  console.log(567, res)
},

3. 获取数据
getData: async function(){
  let db = wx.cloud.database()
  let res = await db.collection("test1").get() //整个集合
  console.log(68, res)
 },


//查询数据 where( ) 获取一条数据,赋值如: title:res.data[0].title
let res = await db.collection("test1").where({title:"不错不错"}).get()

db.collection("course").where({age:_.gt(30)}).get()

查询数据排序
orderBy('id', 'asc')    升序排列
orderBy('id', 'desc')   降序排列
 
查询数据限制 limit()
let res = await db.collection("test1").limit(2).get() //只查前2条数据

更新数据update

let db = wx.cloud.database()
let res = await db.collection('test1').doc('b00064a760a4741a189326627972808d').update({
    // data 传入需要局部更新的数据
    data: {
      // 表示更新title字段
      title: "我无怨无悔"
    }
  })
console.log(633, res)  

删除数据remove

let db = wx.cloud.database()
let res = await db.collection('test1').doc('b00064a760a4741a189326627972808d').remove()
console.log(633, res)  

//删除多条
db.collection('todos').where({
  done: true
}).remove()

Coin Marketplace

STEEM 0.17
TRX 0.16
JST 0.029
BTC 60661.72
ETH 2395.32
USDT 1.00
SBD 2.56