一,各类功能的api用法说明
二,小程序端API和服务端API的区别
服务端API用于云函数运行环境。
Server 端的 API 与小程序端基本保持一致,有如下不同:
Server API 不再接受回调(success, fail, complete),统一返回 Promise
Server 端有批量写和批量删除的权限,即可在集合或查询语句上调用 update 或 remove
Server 端独有 API 如创建集合(db.createCollection)
数据库 API 都是懒执行的,这意味着只有真实需要网络请求的 API 调用才会发起网络请求,其余如获取数据库、集合、记录的引用、在集合上构造查询条件等都是不会触发网络请求的。
例如Users.where({ _openid: openid}).get是可以在本地获取
而
db.collection(‘Users’).where({ _openid: wxContext.OPENID}).update就不可以,只能在云端来完成!
三,实践例子,增删查改的运用
1,记录用户授权时间
已有数据时更新数据,没有数据时插入一条
/**先行判断是否录入过,在complete结束回调里处理,不然未查询完就已经开始处理了 */
judge: function () {
var that = this;
let openid = app.globalData.openid;
let id;
const db = wx.cloud.database();
const Users = db.collection('Users');
Users.where({
_openid: openid}).get({
success: function (res) {
console.log('get-Users=' + res.data[0]._id )//因为只有一条数据所以加[0]
id = res.data[0]._id;
},
fail: function (err){
console.error('err:', err)
},
complete: function (ok) {
console.log(id + '-----------' + util.isEmpty(id));
that.dispost