| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 基于云开发的答题活动小程序v2.0-用云开发的聚合能力实现从题库中随机出题功能 -> 正文阅读 |
|
[大数据]基于云开发的答题活动小程序v2.0-用云开发的聚合能力实现从题库中随机出题功能 |
项目技术栈微信原生小程序+云开发。为什么选择微信原生小程序进行开发呢?因为能够直接应用它的云开发能力吖。 我这里主要使用了云开发能力中的小程序端SDK,说白了就是在javascript中就能直接操作数据库。 本篇前言基于云开发的答题活动小程序v2.0的源码地址,以及手把手教你搭建答题活动小程序v1.0系列文章目录,均在【基于云开发的答题活动小程序v2.0,终于赶在11月最后一天完成了 还记得我在答题活动小程序v1.0的时候,是怎么实现用云开发实现查询题库功能吗?不记得的话,可以重温一下这篇文章【手把手教你搭建消防安全答题小程序-用云开发实现查询题库功能】,这种是顺序出题的方式。 现在答题活动小程序v2.0版本,要换成随机出题方式,所以,我使用了云开发的聚合能力实现从题库中随机出题功能。 先查文档通读文档,我们先对实现原理有个大概了解。有针对性的简单地看看几个相关的概念,暂时看不懂也没关系,可以只关注后面的实战部分。 1、数据库聚合能力说明聚合是一种数据批处理的操作。有了聚合能力,可以方便的解决很多没有聚合能力时无法实现或只能低效实现的场景,这类场景的例子有:分组查询、随机选取、去重...... 2、数据库AggregateAggregate,数据库集合的聚合操作实例。 3、涉及到的方法(1)Collection.aggregate(): Aggregate 发起聚合操作,定义完聚合流水线阶段之后需调用 end 方法标志结束定义并实际发起聚合操作。 (2)Aggregate.match(object: Object): Aggregate 聚合阶段。根据条件过滤文档,并且把符合条件的文档传递给下一个流水线阶段。 (3)Aggregate.sample(size: number): Aggregate 聚合阶段。随机从文档中选取指定数量的记录。 (4)Aggregate.end(): Promise<Object> 标志聚合操作定义完成,发起实际聚合操作。 4、特别关注sample以上那些方法是我这次涉及到的几个API,这里特别关注一下.sample()这个API。 Aggregate.sample(size: number): Aggregate 聚合阶段。随机从文档中选取指定数量的记录。 API 说明 sample 的形式如下:
请注意:size 是正整数,否则会出错。 示例 假设文档 users 有以下记录:
随机选取 如果现在进行抽奖活动,需要选出一名幸运用户。那么 sample 的调用方式如下:
返回了随机选中的一个用户对应的记录,结果如下:
来实战吧这段代码实现了随机出题的功能,直接上代码,稍微简单解读一下。
再看效果可以在控制台中看到[云数据库] [activityQuestion] 查询成功了,返回了20条从题库中随机选取的题目数据。 本篇小结可以看到,云开发能力,真的极大地提升了开发效率。其实不仅仅是在答题小程序中,会存在这样或那样的需求,需要在题库中随机出题。还有上面提到的,如果进行抽奖活动,需要选出一名或多名幸运用户。实践证明,那么 sample ,就是最佳选择之一了。 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 8:46:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |