『云函数』处理数据

2024-01-28 10:35:17 浏览数 (1)

1.前言

经过上篇文章的介绍,详细的给大家介绍了一下云函数当中的传参与调试方式,在看本次文章介绍的内容之前首先我抛出一个问题,我们为什么使用云函数呢?是不是就是为了对我们的数据进行加工处理,对吧,所以,那么接下来我们就来看看云函数当中的数据处理。

2.云函数的数据处理

在云函数的目录下,创建一个叫做 getStu 的云函数:

注意点:我们是可以直接在云函数中访问数据库的

那么在云函数中,访问数据库的步骤如下:

  1. 拿到当前环境对应的数据库
  2. 拿到数据库中指定的集合
  3. 查询指定集合数据
  4. 对数据进行加工处理
  5. 返回加工后的数据,给前端直接使用

那么首先来看前面的三步:

代码语言:javascript复制
// 云函数入口函数
exports.main = async (event, context) => {
    // 1. 拿到当前环境对应的数据库
    const db = cloud.database();
    
    // 2. 拿到数据库中指定的集合
    const stuCollection = db.collection("stu");
    
    // 3. 查询指定集合数据
    const res = stuCollection.get();
    
    return res;
}

注意点:在第三步中,我利用 stuCollection.get(); 查询了指定集合的数据,在之前微信小程序代码中操作数据库获取数据的时候,我是不是说过,最多只能获取 20 条数据,那么现在在云函数中,最多是可以获取 100 条数据的。

编写一个调用按钮:

代码语言:html复制
<button type="primary" bindtap="onCloudFnProcessingDataTap">云函数处理数据</button>

编写对应的事件回调代码:

代码语言:javascript复制
async onCloudFnProcessingDataTap() {
    const res = await wx.cloud.callFunction({
        name: 'getStu',
    });

    console.log(res);
},

运行效果如下:

可以看到已经超了 20 条数据了,那么接下来我们就来看看如何对数据进行加工处理。

完成第四步:

代码语言:javascript复制
// 云函数入口函数
exports.main = async (event, context) => {
    // 1. 拿到当前环境对应的数据库
    const db = cloud.database();

    // 2. 拿到数据库中指定的集合
    const stuCollection = db.collection("stu");

    // 3. 查询指定集合数据
    const res = await stuCollection.get();

    // 4.对数据进行加工处理
    const stuInfo = {
        name: "终结二班",
        // 返回结果的数据是放在 data 中,所以这里需要 .data 进行获取
        list: res.data
    }

    // 5.返回加工后的数据,给前端直接使用
    return stuInfo;
}

注意点:stuCollection.get(); 是异步的所以我们需要使用 await 关键字来等待数据返回之后再进行下一步操作。本人在测试过程中,没有使用 await 关键字,导致数据返回的是 undefined,所以大家一定要注意。

第四步中,对数据进行了加工处理, 再重新上传云函数,然后再次运行效果如下:

本篇文章内容介绍到这就结束了,我们下期再见,感谢大家的观看,谢谢大家。

0 人点赞