乐趣区

关于前端:答题积分小程序云开发实战数据库篇初始化建表配置及调用

微信小程序云开发实战 - 答题积分赛小程序

数据库篇:初始化、建表、配置及调用

开明云开发服务

点击【云开发】,开明云开发服务;

开明服务实现后,方可持续往下操作;

题库数据表初始化

创立数据表
点击【数据库】,而后点击【+】创立数据表;

输出汇合名称 aicQuestion,点击【确定】;

配置数据权限
点击【数据权限】,抉择【所有用户可读】这个选项;

导入题目数据
在【记录列表】,点击【导入】;

点击【抉择文件】;

找到网络安全常识.json 所在目录;

选中后,点击【确定】进行导入数据库数据表;

稍等片刻,能够看到,题目导入胜利了;

用户数据表初始化

创立数据表

点击【数据库】,而后点击【+】创立数据表;

输出汇合名称 aicUser,点击【确定】;

配置数据权限

点击【数据权限】,抉择【所有用户可读,仅创建者可读写】这个选项;

对于用户表,这样就初始化和配置实现了。不须要进行导入数据操作,因为这些数据是用户在小程序端,注册登录的时候提交生成的。

获取并配置环境 ID

获取环境 ID

点击【设置】-【环境设置】,再点击复制环境 ID;

在小程序配置

须要在小程序端配置环境 ID,关上 app.js 文件,将刚刚复制的环境 ID,粘贴到 app.js 的 env 配置项;

这样,咱们就能够在小程序端应用 SDK 间接调用数据库了。

小程序调用数据库

咱们这次应用小程序 SDK 连贯和调用数据库,次要实现三大性能:

  • 实现从题库中随机抽取题目
  • 实时更新用户的答题积分
  • 积分排行榜按答题积分由高到低进行排名
    咱们先牛刀小试,实现从题库中随机抽取题目,另外那些性能前面会具体开展解说。先跑通模式:
/**
   * 生命周期函数 -- 监听页面加载
   */
  onLoad(options) {
 
    // 连贯云数据库
    const db = wx.cloud.database();
 
    // 获取题库汇合的援用
    const aicQuestion = db.collection('aicQuestion');
   
    // 数据库汇合的聚合操作实例
    aicQuestion
    .aggregate()
    .match({       // 相似于 where,对记录进行筛选
      question: _.exists(true)
    })
    .sample({size: 20 // 从题库表中随机选取 20 条题目})
    .end()
    .then(res => {
 
          // 获取汇合数据,或获取依据查问条件筛选后的汇合数据。let data = res.list || [];})
  },

能够在【Network】-【Cloud】看到数据申请的返回值:

或者应用 console.log 将数据在控制台打印进去看也行;

console.log(data)

注意事项

留神:

  • 如果没配好数据权限,会获取不到数据,会报错;
  • 如果没有配置环境 ID,也会获取不到数据,也会报错;
退出移动版