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实现把utf-8格式的文件转换成gbk格式的文件
Jan 22 Python
CentOS中使用virtualenv搭建python3环境
Jun 08 Python
python自动翻译实现方法
May 28 Python
python和ruby,我选谁?
Sep 13 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
Oct 01 Python
flask + pymysql操作Mysql数据库的实例
Nov 13 Python
python模块之paramiko实例代码
Jan 31 Python
Python常见内置高效率函数用法示例
Jul 31 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
Jun 18 Python
Python 字符串类型列表转换成真正列表类型过程解析
Aug 26 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
Mar 30 Python
python全栈开发语法总结
Nov 22 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
php计算税后工资的方法
2015/07/28 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
Zend Framework分发器用法示例
2016/12/11 PHP
javascript URL锚点取值方法
2009/02/25 Javascript
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
String.prototype实现的一些javascript函数介绍
2013/11/22 Javascript
jquery读取xml文件实现省市县三级联动的方法
2015/05/29 Javascript
深入了解JavaScript中的Symbol的使用方法
2015/07/28 Javascript
javascript基础语法学习笔记
2016/01/04 Javascript
浅析angularJS中的ui-router和ng-grid模块
2016/05/20 Javascript
Bootstrap基本组件学习笔记之面板(14)
2016/12/08 Javascript
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
webpack学习--webpack经典7分钟入门教程
2017/06/28 Javascript
JS实现的按钮点击颜色切换功能示例
2017/10/19 Javascript
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
解决layer弹出层的内容页点击按钮跳转到新的页面问题
2019/09/14 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
2020/10/27 Javascript
python保存字符串到文件的方法
2015/07/01 Python
python自动重试第三方包retrying模块的方法
2018/04/24 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
2019/06/04 Python
pygame实现俄罗斯方块游戏(基础篇1)
2019/10/29 Python
pymysql的简单封装代码实例
2020/01/08 Python
以SQLite和PySqlite为例来学习Python DB API
2020/02/05 Python
春秋航空官方网站:Spring Airlines
2017/09/27 全球购物
分公司任命书
2014/06/06 职场文书
孕妇离婚协议书范本
2014/11/20 职场文书
2015元旦文艺汇演主持稿(开场白+结束语)
2014/12/14 职场文书
小学班主任评语
2014/12/29 职场文书
2015年小学图书室工作总结
2015/05/18 职场文书
企业法人任命书
2015/09/21 职场文书
2016年教师节贺卡寄语
2015/12/04 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
Pandas-DataFrame知识点汇总
2022/03/16 Python
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技