项目技术栈微信原生小程序+云开发。为什么选择微信原生小程序进行开发?因为它可以直接应用它的云开发能力。这里我主要使用云开发能力中的小程序端SDK。说白了就是用javascript直接操作数据库即可。本文前言基于云答题小程序v2.0的源地址,以及教大家搭建答题小程序v1.0的系列文章目录。在11月的最后一天及时完成]本文底部。还记得我在问答活动小程序v1.0时是如何使用云开发实现查询题库功能的吗?不记得可以重温这篇文章【手把手教你搭建一个消防安全问答题程序-使用云开发实现查询题库功能】,这是顺序提问的方式。现在v2.0版本的答题活动小程序需要更换为随机出题方式。因此,我利用云开发的聚合能力,实现了题库随机出题的功能。先查文档,通读文档,我们先对实现原理有个大致的了解。简单的有针对性的看几个相关的概念。暂时看不懂没关系,后面可以专注于实战部分。一、数据库聚合能力描述聚合是一种数据批量操作。有了聚合能力,很多没有聚合能力就无法实现或者只能低效实现的场景可以轻松解决。此类场景的示例包括:分组查询、随机选择、去重...2.DatabaseAggregateAggregate,一个数据库集合的聚合操作实例。3.涉及的方法(1)Collection.aggregate():Aggregate发起聚合操作。聚合流水线阶段定义完成后,需要调用end方法标记定义结束,真正发起聚合操作。(2)Aggregate.match(object:Object):Aggregate聚合阶段。根据条件过滤文档,将符合条件的文档传递到下一个流水线阶段。(3)Aggregate.sample(size:number):Aggregate聚合阶段。从文档中随机选取指定数量的记录。(4)Aggregate.end():Promise