首页 > 编程语言 >基于云开发的答题活动小程序v2.0-排行榜页面用云开发能力实现查询答题成绩并进行排名的功能

基于云开发的答题活动小程序v2.0-排行榜页面用云开发能力实现查询答题成绩并进行排名的功能

时间:2022-12-08 11:11:09浏览次数:66  
标签:orderBy 答题 用云 程序 v2.0 查询 Collection 集合

项目技术栈

微信原生小程序+云开发。

我这里主要使用了云开发能力中的小程序端SDK,说白了就是在javascript中就能直接操作数据库。

 

本篇前言

基于云开发的答题活动小程序v2.0的源码地址,以及手把手教你搭建答题活动小程序v1.0系列文章目录,均在【基于云开发的答题活动小程序v2.0,终于赶在11月最后一天完成了】这篇文章的底部。

 

项目需求

此次的消防知识竞答活动,每人每天答题机会不限次数,成绩由高到低进行排名。奖项设一等奖2名、二等奖5名、三等奖10名、优秀奖20名。

 

技术要点

1、Collection

  • 指数据库集合引用。

2、Collection.where(condition: Object): Collection

  • 指定查询条件,返回带新查询条件的新的集合引用。

3、Collection.orderBy(fieldPath: string, string: order): Collection

  • 指定查询排序条件。
  • order 只能取 asc 或 desc。
  • 同时也支持按多个字段排序,多次调用 orderBy 即可,多字段排序时的顺序会按照 orderBy 调用顺序先后对多个字段排序。

4、Collection.get(): Promise<Object>

  • 获取集合数据,或获取根据查询条件筛选后的集合数据。
  • 小程序端:如果没有指定 limit,则默认且最多取 20 条记录。
  • 小程序端兼容 Callback 风格调用。

 

关键代码

按答题成绩totalScore字段进行排降序(totalScore越大越靠前)

getRankList() {
    // 数据库集合的聚合操作实例
    activityScore
    .where({
      _openid: _.exists(true)
    })
    .orderBy('totalScore', 'desc')
    .get()
    .then(res => {
      // 获取集合数据,或获取根据查询条件筛选后的集合数据。
      console.log('[云数据库] [排行榜] 查询成功')
      console.log(res.data)
      let data = res.data || [];
      
      // 将数据从逻辑层发送到视图层,通俗的说,也就是更新数据到页面展示
      this.setData({
        rankList:data
      });
    })
  }

 

实现结果

 防火安全知识专项学习与竞答

本篇小结

作为小程序创作者,排行榜无论是在答题小程序中,还是别的应用场景中,实在是太常见了。所以,关于排行榜的一点延展的思考。

需要根据自身产品采用适合的设计方式,结构上避免散乱、信息上避免过多的信息干扰。对于许多产品而言,榜单对于商业化有着不小的商业价值。

标签:orderBy,答题,用云,程序,v2.0,查询,Collection,集合
From: https://www.cnblogs.com/bao1/p/16965534.html

相关文章

  • R语言使用Rasch模型分析学生答题能力|附代码数据
    全文链接:http://tecdat.cn/?p=10175最近我们被客户要求撰写关于Rasch的研究报告,包括一些图形和统计输出。几个月以来,我一直对序数回归与项目响应理论(IRT)之间的关系感兴趣......
  • JavaScript习题之简答题
    1.分别描述HTML、CSS、JS在页面组成中的作用。HTML是超文本标记语言,是用来描述网页的语言,定义网页的结构,内容可以包含文字、图片、视频等。CSS是层叠样式表,定义如何显示HT......
  • 基于云开发的答题活动小程序v2.0-用云开发的聚合能力实现从题库中随机出题功能
    项目技术栈微信原生小程序+云开发。为什么选择微信原生小程序进行开发呢?因为能够直接应用它的云开发能力吖。我这里主要使用了云开发能力中的小程序端SDK,说白了就是在jav......
  • 基于云开发的答题活动小程序v2.0-实现微信授权登录功能
    项目技术栈微信原生小程序+云开发。为什么选择微信原生小程序进行开发呢?因为能够直接应用它的云开发能力吖。我这里主要使用了云开发能力中的小程序端SDK,说白了就是在jav......
  • 基于云开发的答题活动小程序v2.0-首页设计与实现
    项目技术栈微信原生小程序+云开发。为什么选择微信原生小程序进行开发呢?因为能够直接应用它的云开发能力吖。我这里主要使用了云开发能力中的小程序端SDK,说白了就是在jav......
  • Box2D v2.0.1 用户手册
    Box2Dv2.0.1用户手册译者:AmanJIANG(江超宇),翻译信息。1.导言1.1关于Box2D是一个用于游戏的2D刚体仿真库。程序员可以在他们的游戏里使用它,它可以使物体的运动......
  • PHP期末复习简答题
    请简述Apache和PHP的工作原理用户再浏览器输入要访问的地址Apache服务器解析用户的请求,其后缀是“.php”,则将用户的请求交给PHP处理;若是静态的HTML文件、CSS文件和JavaS......
  • 拓端tecdat|R语言编程指导使用Rasch模型分析学生答题能力
    R语言使用Rasch模型分析学生答题能力几个月以来,我一直对序数回归与项目响应理论(IRT)之间的关系感兴趣。在这篇文章中,我重点介绍Rasch分析。最近,我花......
  • 麒麟信安V3.4 安装PG15的过程V2.0
    改版说明上一次进行了PG的安装当时发现自己少加了一部分ossp的处理.这里补充上...不然挺浪费时间的.背景发现基于OpenEuler的几个系统使用CentOS的rpm包安装PG数据......
  • Node工程使用云服务器中的redis镜像做数据库
     Redis镜像安装在云服务器中执行指令dockerpullredis添加redis镜像实例的配置[root@VM-0-11-centos~]#cd/home[root@VM-0-11-centoshome]#lsmongote......