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

本文将接前文,继续讲述python程序对微信云开发数据库的操作。

二、间接操作

间接操作指的是python通过云函数对云开发数据库进行操作。所有的操作都是在获取access_token的前提下进行的,不懂的同学可以参考:链接: link.
同时由于请求python请求云函数的代码基本类似,只有在data里面进行参数的变换即可,给出一个例子:

    def xxxx(self):
        //在函数括号内需要添加参数
        ACCESS_TOKEN = xxx   //获取的access_token
        ENV = xxx                      //用户的数据库环境ID
        FUNCTION_NAME = xxx   //所要执行的云函数名
        url = 'https://api.weixin.qq.com/tcb/invokecloudfunction?access_token=' + ACCESS_TOKEN + '&env=' + ENV + '&name=' + FUNCTION_NAME
        data = {
        //所要传输的参数
        }
        response = requests.post(url=url, data=json.dumps(data))
        result = response.json()

2.1创建集合

云函数:

const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
exports.main = async (event, context) => {
  return await db.createCollection(event.id)
  //event.id是python传输的数据,为该集合的名字
}

python:

    def createCollection(self,id):
    ....
    ....
    data = {
            'id':id,
        }
    ....

查询记录

云函数:

const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
exports.main = async (event, context) => {
  return await db.collection(event.id).get();
  //event.id是python传输的数据,为该集合的名字
  //.get()调用云函数方法,获取该集合下的所有数据,可以加上.where()筛选,后续更新、新增等操作类似
}

python:

    def databaseQuery(self,id):
    ....
    ....
    data = {
            'id':id,
        }
    ....

插入记录

云函数:

const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
exports.main = async (event, context) => {
  return await db.collection(event.id).add({
        data: {
           description: event.description,
           due: event.due
    }
  });
  //event.id是python传输的数据,为该集合的名字
  //.add()新增记录函数
}

python:

def databaseQuery(self,id):
    ....
    ....
    description=xxxx
    due=xxxx
    data = {
            'id':id,
            'description': description,
           'due': due
        }
    ....

删除记录

云函数:

const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
exports.main = async (event, context) => {
  return await db.collection(event.id).remove();
  //event.id是python传输的数据,为该集合的名字
  //.remove()删除记录函数
  //可用.doc().where()等定位具体某种信息
}

python:

def databaseQuery(self,id):
    ....
    ....
    description=xxxx
    due=xxxx
    data = {
            'id':id,
        }
    ....

更新记录

云函数:

const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
exports.main = async (event, context) => {
  return await db.collection(event.id).update();
  //event.id是python传输的数据,为该集合的名字
  //.update()更新记录函数
  //可用.doc().where()等定位具体某种信息
}

python:

def databaseQuery(self,id):
    ....
    ....
    description=xxxx
    due=xxxx
    data = {
            'id':id,
        }
    ....

总结

隔了好久终于把第二部分写了,也很感谢第一部分有些网友指出的错误,已经修改,这篇一样,希望得到大家的交流指点。

也欢迎来我的[个人博客](ZLF - 钟林锋的博客 (zlfeng.cn))交流

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值