微信小程式雲開發實戰-答題積分賽小程式
資料庫篇:初始化、建表、配置及調用
開通雲開發服務
點選【雲開發】,開通雲開發服務;
開通服務完成後,方可繼續往下操作;
題庫資料表初始化
建立資料表
點選【資料庫】,然後點選【+】建立資料表;
輸入集合名稱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,也會擷取不到資料,也會報錯;