python操作小程序云数据库实现简单的增删改查功能


Posted in Python onJune 06, 2019

不止python,你可以利用任何语言那实现通过http请求来操作你自己的小程序云数据库了

背景

也是在最近吧,小程序更新了云开发 HTTP API 文档,提供了小程序外访问云开发资源的能力,使用 HTTP API 开发者可在已有服务器上访问云资源,实现与云开发的互通。

原本云数据库还是相对封闭的,只能通过自己的小程序或者云函数来进行访问,而现在,你只要调用官方提供的接口就能实现对云函数的增删改查了。

python操作小程序云数据库实现简单的增删改查功能

这里通过 python 作为演示来进行简单的测试,当然你也可以使用 java , php 等任何你熟悉的语言进行编码。

demo演示

其实实现起来还是比较简单的,通过小程序的 APPID 和 APPSECRET 来获取 ACCESS_TOKEN ,获取到调用凭证之后就可以根据文档提供的API对云数据库进行操作了。

首先我们来获取 ACCESS_TOKEN ,相关python代码如下:

'''
获取小程序token
'''
def get_access_token():
 url='{0}cgi-bin/token?grant_type=client_credential&appid={1}&secret={2}'.format(WECHAT_URL,APP_ID,APP_SECRET)
 response =requests.get(url)
 result=response.json()
 print(result)
 return result['access_token']

在云数据库中新增一个集合,代码如下:

'''
新增集合
'''
def add_collection(accessToken):
 url='{0}tcb/databasecollectionadd?access_token={1}'.format(WECHAT_URL,accessToken)
 data={
  "env":ENV,
  "collection_name":TEST_COLLECTION
 }
 response = requests.post(url,data=json.dumps(data),headers=HEADER)
 print('1.新增集合:'+response.text)

在集合中新增一笔数据,代码如下:

'''
新增数据
'''
def add_data(accessToken):
 url='{0}tcb/databaseadd?access_token={1}'.format(WECHAT_URL,accessToken)
 query='''
 db.collection("test_collection").add({
  data:{
   key:1,
   value:"2345"
  }
 })
 '''

 data={
  "env":ENV,
  "query":query
 }
 response = requests.post(url,data=json.dumps(data),headers=HEADER)
 print('2.新增数据:'+response.text)

查询某个集合中的数据,代码如下:

'''
查询数据
'''
def query_data(accessToken):
 url='{0}tcb/databasequery?access_token={1}'.format(WECHAT_URL,accessToken)
 query='''
 db.collection("test_collection").limit(10).skip(1).get()
 '''

 data={
  "env":ENV,
  "query":query
 }
 response = requests.post(url,data=json.dumps(data),headers=HEADER)
 print('3.查询数据:'+response.text)
 result=response.json()
 resultValue =json.loads(result['data'][0])
 return resultValue['_id']

删除该集合中的某笔数据,代码如下:

'''
删除数据
'''
def delete_data(accessToken,id):
 url='{0}tcb/databasedelete?access_token={1}'.format(WECHAT_URL,accessToken)
 query='''db.collection("test_collection").doc("{0}").remove()'''.format(id)

 data={
  "env":ENV,
  "query":query
 }
 response = requests.post(url,data=json.dumps(data),headers=HEADER)
 print('4.删除数据:'+response.text)

删除云数据库中某个集合,代码如下:

'''
删除集合
'''
def delete_collection(accessToken):
 url='{0}tcb/databasecollectiondelete?access_token={1}'.format(WECHAT_URL,accessToken)
 data={
  "env":ENV,
  "collection_name":TEST_COLLECTION
 }
 response = requests.post(url,data=json.dumps(data),headers=HEADER)
 print('5.删除集合:'+response.text)

是不是感觉挺简单的,就是调用相应的接口实现对云数据库相应的操作。

总结

官方开放了除小程序外访问云数据库的权限,使得每个基于云数据库的小程序不再是一座座鼓捣了。我们可以用该API去实现基于云开发的后台应用了。

就拿我的博客小程序来说,完全可以在我擅长的开发语言中找个后台模板,进行简单的二次开发,数据库使用小程序的云数据库,无缝连接我的博客小程序。

同样的,前期做的公众号文章同步的云函数,完全可以用自己擅长的语言来写了,最终保存到云数据库就可以了。

有兴趣的小伙伴可以行动起来了,利用云数据库,搭建属于你自己的小程序后台吧。

Ps.完整版demo源码可以访问我的github

https://github.com/CavinCao/python_libraries_demo

以上所述是小编给大家介绍的python操作小程序云数据库实现简单的增删改查功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python生成IP段的方法
Jul 07 Python
Python把csv数据写入list和字典类型的变量脚本方法
Jun 15 Python
Python根据文件名批量转移图片的方法
Oct 21 Python
python笔记之mean()函数实现求取均值的功能代码
Jul 05 Python
Flask配置Cors跨域的实现
Jul 12 Python
windows下Python安装、使用教程和Notepad++的使用教程
Oct 06 Python
python机器学习实现决策树
Nov 11 Python
Python实现aes加密解密多种方法解析
May 15 Python
python3.8.1+selenium实现登录滑块验证功能
May 22 Python
DataFrame.groupby()所见的各种用法详解
Jun 14 Python
python自动统计zabbix系统监控覆盖率的示例代码
Apr 03 Python
Python中super().__init__()测试以及理解
Dec 06 Python
Django网络框架之创建虚拟开发环境操作示例
Jun 06 #Python
浅析Python3中的对象垃圾收集机制
Jun 06 #Python
聊聊python里如何用Borg pattern实现的单例模式
Jun 06 #Python
使用Python实现毫秒级抢单功能
Jun 06 #Python
使用celery执行Django串行异步任务的方法步骤
Jun 06 #Python
python opencv摄像头的简单应用
Jun 06 #Python
Python完成毫秒级抢淘宝大单功能
Jun 06 #Python
You might like
动态生成gif格式的图像要注意?
2006/10/09 PHP
PHP常用操作类之通信数据封装类的实现
2017/07/16 PHP
javascript实现带节日和农历的日历特效
2015/02/01 Javascript
javascript表格的渲染组件
2015/07/03 Javascript
javascript使用输出语句实现网页特效代码
2015/08/06 Javascript
jQuery实现的AJAX简单弹出层效果代码
2015/11/26 Javascript
JavaScript焦点事件、鼠标事件和滚轮事件使用详解
2016/01/15 Javascript
jQuery日历插件datepicker用法详解
2016/03/03 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
2016/06/21 Javascript
Three.js学习之Lamber材质和Phong材质
2016/08/04 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)
2016/12/01 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
2017/12/26 Javascript
json对象及数组键值的深度大小写转换问题详解
2018/03/30 Javascript
详解React之父子组件传递和其它一些要点
2018/06/25 Javascript
vuejs中监听窗口关闭和窗口刷新事件的方法
2018/09/21 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
2019/03/29 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
2019/06/19 Javascript
详细分析Node.js 模块系统
2020/06/28 Javascript
通过Python爬虫代理IP快速增加博客阅读量
2016/12/14 Python
Django admin实现图书管理系统菜鸟级教程完整实例
2017/12/12 Python
Python的numpy库下的几个小函数的用法(小结)
2019/07/12 Python
python提取xml里面的链接源码详解
2019/10/15 Python
python自动化实现登录获取图片验证码功能
2019/11/20 Python
Django自带的加密算法及加密模块详解
2019/12/03 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
2019/12/19 Python
Python爬取网页信息的示例
2020/09/24 Python
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
科尔士百货公司官网:Kohl’s
2016/07/11 全球购物
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
Java程序员面试题
2013/07/15 面试题
电大本科自我鉴定
2014/02/05 职场文书
《观舞记》教学反思
2014/04/16 职场文书
软件专业毕业生个人自我鉴定
2014/04/17 职场文书
投标承诺函格式
2015/01/21 职场文书