天天看點

答題積分小程式雲開發實戰-資料庫篇:初始化、建表、配置及調用

作者:小程式創作者Monstar

微信小程式雲開發實戰-答題積分賽小程式

資料庫篇:初始化、建表、配置及調用

開通雲開發服務

點選【雲開發】,開通雲開發服務;

答題積分小程式雲開發實戰-資料庫篇:初始化、建表、配置及調用

開通服務完成後,方可繼續往下操作;

題庫資料表初始化

建立資料表

點選【資料庫】,然後點選【+】建立資料表;

答題積分小程式雲開發實戰-資料庫篇:初始化、建表、配置及調用

輸入集合名稱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,也會擷取不到資料,也會報錯;
答題積分小程式雲開發實戰-資料庫篇:初始化、建表、配置及調用
答題積分小程式雲開發實戰-資料庫篇:初始化、建表、配置及調用

繼續閱讀