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

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

背景

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

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

image

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

demo演示

其实实现起来还是比较简单的,通过小程序的APPIDAPPSECRET来获取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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,757评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,478评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,540评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,593评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,903评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,329评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,659评论 2 309
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,383评论 0 195
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,055评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,337评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,864评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,227评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,820评论 3 231
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,999评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,750评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,365评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,260评论 2 258

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,618评论 0 10
  • 要做一个可爱的女孩,第一就是要爱笑,不管是美女还是普普通通的一个小丫头,笑起来都会是天使,因为我们还年轻啊,我们脸...
    8月的星阅读 645评论 0 0
  • 现在请各位同学按照以上训练规则开始记忆《中文豪记妙忆》,并按照训练规则第四项,记录下自己的成绩 未完成上面记忆任务...
    方得Founder阅读 641评论 0 0
  • 自打认识你起我便有了一份守望 每每人群里的鹄望 都带着丝丝期望 于是跟你见上一面都是渴望 能在一起聊上几句更是奢望...
    单字一个寻阅读 94评论 0 1
  • 2018年12月30日,还差1天就到2019年了。新的一年即将到来。对于2018年,作个总结,也对2008年致20...
    Ai上冬天阅读 322评论 0 0