python对微信云开发数据库的操作(一)

本文主要讲述python程序对微信云开发数据库的操作。

一、直接操作

直接操作指的是通过python程序对云开发数据库直接进行操作。
所有的操作前提都是在获取access_token下进行的,先通过下列代码获取access_token在进行接下来的操作。

    def access_token():
        """"
           获取access_token
        """
        APPID = '**********'                        //小程序ID
        APPSECRET = '**************'                //小程序秘钥
        WECHAT_URL = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + APPID + '&secret=' + APPSECRET
        response = requests.get(WECHAT_URL)
        result = response.json()
        return result["access_token"]     //将返回值解析获取access_token

1.1 创建集合

此方法的创建只需要将集合的名字post给数据库即可。

 def databaseCollectionAdd(access_token):
        """"
           创建数据库
        """
        url = 'https://api.weixin.qq.com/tcb/databasecollectionadd?access_token'+access_token
        data={
              "env":"******",                //用户的数据库环境ID
              "collection_name": "*******"   //数据库集合的名称
              }
        response = requests.post(url, data=json.dumps(data))
        result = response.json()
        print(result)     //将返回值打印

1.2 查询文档

将集合的名字Post即可返回该集合的信息。

    def databaseQuery(access_token,collection_name):
        """"
            检索数据库
           collection_name 集合的名称
           .limit() 括号内的数值限定返回的记录数
        """
        url = 'https://api.weixin.qq.com/tcb/databasequery?access_token=' + access_token
        data = {
            "env": "*******",          //用户的数据库环境ID
            "query": "db.collection(\""+collection_name+"\").limit(100).get()"
        }
        response = requests.post(url, data=json.dumps(data))
        result = response.json()
        print(result)     //将返回值打印

1.3 插入文档

通过Post集合名字和Add函数对内容(datas)的传输。

    def databaseAdd(access_token,collection_name):
        """"
        新建记录并对内容进行定义
        collection_name 集合的名称
        """
        url = 'https://api.weixin.qq.com/tcb/databaseadd?access_token' + access_token
        data = {
            "env": "",
            "query": "db.collection(\""+collection_name+"\").add({"+datas+"})"
        }
        datas=[{
        "字段名称":"内容"
        """
        这里主要是对创建记录的直接定义
        """
              }]
        response = requests.post(url, data=json.dumps(data))
        result = response.json()
        print(result)     //将返回值打印

经测试这种创建记录的方式对datas的定义要求较为严格,一但定义不够严格会出现创建失败,所以建议通过间接的方式对数据库进行插入记录。

1.4 删除文档

通过Post集合名称将该集合直接从数据库移除。

    def databaseQuery(access_token,collection_name):
        """"
           collection_name 集合的名称
        """
        url = 'https://api.weixin.qq.com/tcb/databasedelete?access_token=' + access_token
        data = {
            "env": "*******",          //用户的数据库环境ID
            "query": "db.collection(\""+collection_name+"\")..where({done:false}).remove()"
        }
        response = requests.post(url, data=json.dumps(data))
        result = response.json()
        print(result)     //将返回值打印

1.5 更新文档

更新记录是对已有的记录内容进行修改,所以说想要对记录内容修改不可用.add()进行,通过.update()进行内容修改

    def databaseUpdate(access_token,collection_name):
        """"
        .where() 该集合所在记录的检索
        """
        url = 'https://api.weixin.qq.com/tcb/databaseadd?access_token' + access_token
        data = {
            "env": "",
            "query": "db.collection(\""+collection_name+"\").where({age:14}).update({data:{age: _.inc(1)}})""
        }
       """
       这个例子是将集合里age=14所有记录自增1
       """
        response = requests.post(url, data=json.dumps(data))
        result = response.json()
        print(result)     //将返回值打印

更新是对记录的操作,所以很需要.where()的帮助,请大家牢记该函数的使用。
## 总结
这是通过对微信小程序一段时间的学习后总结出来的,本作者是个新人,如有错误可指出,我将及时改正。
第二部分是通过调用云函数来对数据库进行操作,这种方法的BUG似乎比直接操作少。
如有问题可以加QQ:1375451299交流学习

评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇