小程序云开发--云函数操作数据库
2018-11-11 12:59
691 查看
之前学习小程序云开发的时候,发现关于云函数操作数据库的内容在网上非常的少。
想了想,不如自己出个教程。
小程序云函数运行的环境是Node.js 8.9 , Node.js 是运行在服务端的 JavaScript,如果你熟悉Javascript,那么你将会很容易的学会Node.js。
我们分为增改查3个部分来介绍。
1.准备
我们在云控制台创建个数据集合
确保自己是处在云开发环境下,本地云函数路径和云端一致,
右键选中自己的环境,完成云函数的同步与更新
2.云函数操作数据库--增
服务端写法:
funcadd 云函数写法
// 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database() // 云函数入口函数 exports.main = async (event, context) => { var filedvalue1 = event.data1 var filedvalue2 = event.data2 try { return await db.collection('mydata').add({ data:{ filed1:filedvalue1, filed2:filedvalue2 } }) } catch (e) { console.log(e) } }
本地调用写法(确保在调用云函数之前在js 文件首部引入
const db = wx.cloud.database() ):wx.cloud.callFunction({ name:'funcadd', data:{ data1:'kindear', data2:'真帅' },success:function(res){ console.log(res) },fail:function(res){ console.log(res) } })
调用成功返回结果:
result._id 是这个记录的唯一标识码,可以设置一个变量记录下来,用作之后的更新删除等操作。
我们查看数据集合
这个数据已经被成功记录。
3.云函数操作数据库--改
funcupdate 云函数写法
// 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database() // 云函数入口函数 exports.main = async (event, context) => { var docid = event.docid var vdata1 = event.data1 var vdata2 = event.data2 try { return await db.collection('mydata').doc(docid).update({ data: { filed1:vdata1, filed2:vdata2 } }) } catch (e) { console.log(e) } }
本地调用写法
wx.cloud.callFunction({ name:'funcupdate', data:{ docid:'W-eiILdokuiPGKeC', data1:'chd', data2:'cool' },success:function(res){ console.log(res) },fail:function(res){ console.log(res) } })
调用成功控制台结果:
4.云函数操作数据库--查
集合的查询操作,用云函数能比直接在本地调用查询到更多条的记录,只需要你知道查询的字段名和对应的值就可以,
funcquery 云函数,这个是根据 id查询的,同样也可以根据vdata1,vdata2 等信息来进行查询操作
// 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database() // 云函数入口函数 exports.main = async (event, context) => { var docid = event.docid var vdata1 = event.data1 var vdata2 = event.data2 try{ return await db.collection('mydata').where({ _id: docid }).get() }catch(e){ console.log(e) } }
小程序调用:
wx.cloud.callFunction({ name:'funcquery', data:{ docid:'W-eiILdokuiPGKeC', data1:'chd', data2:'cool' },success:function(res){ console.log(res) },fail:function(res){ console.log(res) } })
控制台信息打印
相关文章推荐
- Delphi XE8中开发DataSnap程序常见问题和解决方法 (二)想对DBExpress的TSQLDataSet写对数据库操作的SQL语句出错了!
- android开发:如何在卸载应用程序操作下,不删除原来程序数据库?
- 数据库开发基本操作-provider: 命名管道提供程序, error:provider: 命名管道提供程序, error:40
- 在开发ajax程序的时候,如何方便地进行数据库操作
- Delphi XE8中开发DataSnap程序常见问题和解决方法 (二)想对DBExpress的TSQLDataSet写对数据库操作的SQL语句出错了!
- 一个带游标的遍历数据的函数|数据库操作|软件开发
- 使用ADO封装类的数据库程序开发实例(下)
- tornado开发学习之2.输入输出,数据库操作,内置模板,综合示例
- VC++下使用ADO编写数据库程序 – 操作大全
- [数据库开发]如何在SQL Server 2005中为安装程序增加计数器注册表项值
- SQL2K数据库开发二十一之索引操作创建索引
- 使用ADO封装类的数据库程序开发实例[第二版] (下)
- 程序开发的实际操作问题
- android开发 简单的数据库操作 adb命令
- Delphi开发单机瘦数据库程序要点
- 数据库异库操作(SQL2000)_数据库开发_web应用开发
- [C# 开发技巧系列]使用C#操作Word和Excel程序
- C#程序将自己的每一个动作、异常、操作结果等都记录下来写入数据库
- 编写操作数据库的JAVA程序时需要的连接MySQL数据库的JDBC连接包mysql-connector-java-5.1.10.zip怎么安装
- uchome二次开发 数据库操作