微信小程序云开发
初始化数据库
小程序端
| const cloud = wx.cloud().database();
const DB = cloud.collection("list");
|
云函数端
| const cloud = require('wx-server-sdk') cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) const DB = cloud.database().collection("list")
|
添加数据库信息
| DB.add({ data:{ name: 'xiaoming', age: 18 }, success(res){ console.log("添加成功", res) }, fail(res) { console.log("添加失败", res) } })
|
查询数据库信息
| DB.get({ success(res){ console.log("查询数据成功", res) }, fail(res) { console.log("查询数据失败", res) } })
|
删除数据库信息
| DB.doc(id).remove({ success(res){ console.log("删除成功", res) }, fail(res) { console.log("删除失败", res) } })
|
修改数据库信息
| DB.doc(id).update({ data:{ "name":"li", "age": 12 }, success(res){ console.log("删除成功", res) }, fail(res) { console.log("删除失败", res) } })
|
云函数
添加云函数
调用云函数
| wx.cloud.callFunction({ name:"add", data:{ a: 1, b: 2 }, success(res){ console.log("请求成功",res) }, fail(res){ console.log("请求失败",res) } })
|
云开发
let db = wx.cloud.database();
const _ = db.command;
分页
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| splitPage(_data: string,pageSize: number,start: number) { db.collection(_data) .limit(pageSize) .skip(start) .get() .then( res => { console.log('请求成功',res) }) .catch( err => { console.log('请求失败',err) }) }
data: { list: [] }, onLoad(options) { wx.showLoading({title: '粪力加载中...'}); this.getList() }, getList() { let startIndex = this.data.list.length; db.collection('data1') .skip(startIndex) .get() .then(res => { wx.hideLoading(); if(res.data.length === 0){ wx.showToast({ icon: 'none', title: '没有更多数据拉' }) } this.setDate({ list: [...this.data.list,...res.data] }) }) .catch(err =>{ wx.hideLoading(); console.log('请求失败', res) }) }, onReachBottom: function () { this.getList(); }
|
复杂查询
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| db.collection('goods') .where({ price: _.gt(5) }) .get() .then()
db.collection('goods') .where(_.and([{ price: _.gte(5) },{ price: _.lt(10) }])) .get() .then()
|
云函数
| const cloud = require('wx-server-sdk'); cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV });
exports.main = async (event, context) => { const wxContext = cloud.getWXContext() return { event, openid: wxContext.OPENID } }
|
调用
| wx.cloud.callFunction({ name: 'getD' }).then( res => { console.log('云函数获取数据成功', res) }).catch( res => { console.log('云函数获取数据失败', res) })
|