微信小程序云数据库通用操作
2020/4/24 4:51:50
本文主要是介绍微信小程序云数据库通用操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
小程序提供了云开发功能以后,还默认提供了一个json的云数据库,为小程序开发者提供了极大的便利性,对于普通开发者来说,2G的DB也基本够用了。
小程序因为权限的限制,小程序端只能修改自己创建的数据,这对于数据协作会带来一定的不便,而且小程序端读取数据每次最多只能获取20条记录,也有一定局限性。所以通常采用云函数来操作数据库。
这里给出一个简单的通用的云函数操作数据库的示例
// runDB云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database() const _ = db.command // 云函数入口函数 exports.main = async (event, context) => { const targetDB = db.collection(event.db) try { if(event.type == "insert"){ return await targetDB.add({ data: event.data }) } if(event.type == "update"){ return await targetDB.doc(event.indexKey).update({ data: event.data }) } if(event.type == "delete"){ return await targetDB.where(event.condition).remove() } if(event.type == "get"){ return await targetDB.where(event.condition) .skip(20*event.skip) .limit(event.limit) .get() } } catch (e) { console.error(e) } }
对应在小程序端如果需要进行数据库操作时,只要调用runDB云函数并传入指定的参数即可
比如对数据表subject进行insert操作,
wx.cloud.callFunction({ name: 'runDB', data: { type:"insert", //指定操作是insert db:"subjects", //指定操作的数据表 data:{ //指定insert的数据 groupID:wx.getStorageSync("groupID"), subject:["语文","数学","英语","物理","化学","历史","地理","政治"] } }, success: res => { console.log('[云函数] [insertDB] 已增加Subjcts信息'+res.result._id) }, fail: err => { console.error('[云函数] [insertDB] 增加Subject失败', err) } })
同样,可以进行类似的delete、update、get等操作。不同的db操作都只需要调用同一个云函数runDB即可。
这篇关于微信小程序云数据库通用操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2021-08-23微信小程序开发 —— 基础知识
- 2021-07-26小程序自定义标题栏写法(适配各种大小刘海屏)
- 2021-07-25小程序如何实现自定义tabBar
- 2021-07-25微信小程序如何在父组件中修改子组件的样式