我正在學習編寫代碼並使用Mongo,Express和NodeJS構建了一個瑣事遊戲。我設法構建了一個遊戲,從數據庫中抽取一個隨機的瑣事問題,獲取用戶的答案,並檢查它是否正確。返回mongo數據庫中的一個隨機子集
現在遊戲一直持續到用戶退出並且問題經常重複。爲了阻止這一點,我想從數據庫中隨機抽取10個問題,這樣我就可以循環這些問題。
我到目前爲止所做的是創建一個函數,從數據庫中抓取一個隨機問題,檢查它是否已經存在於數組中,如果不存在,則將其推送到數組。但我似乎無法訪問陣列中的問題。當我在瀏覽器中打開路由時,我只看到一個空數組。
我一直在盯着這麼長時間,並且非常混亂,以至於我相信我已經走上了正軌。
這裏是我的代碼:
router.get("https://stackoverflow.com/q/", function(req,res){
res.send(getQuestions());
});
function getQuestions() {
var quiz = new Array();
for(var i = 0; i < 10; i++) {
Question.findOneRandom(function(err, randomQuestion){
if(err){
console.log(err);
} else {
if(!containsObject(randomQuestion, quiz)) {
console.log("Adding question");
quiz.push(randomQuestion);
} else {
console.log("It was a duplicate.");
}
}
});
}
return quiz;
}
function containsObject(obj, list){
for (var i = 0; i < list.length; i++){
if (list[i].question === obj.question) {
return true;
}
}
return false;
}
謝謝 - 這個作品。我想我需要更多地閱讀以瞭解到底發生了什麼,但感謝您的幫助! – djdrysdale