0
您好我目前是nodejs和mongodb的新手,我想做的是創建一個函數來更新我的勝利,失去,從我的userschema中繪製記錄。如何在nodejs/mongodb上創建更新函數?
我的架構:
UserSchema = new mongoose.Schema({
username:'string',
password:'string',
email:'string',
//Change Made
win:{ type: Number, default: 0 },
lose:{ type: Number, default: 0 },
draw:{ type: Number, default: 0 }
});
我的更新功能:
//Update scores
app.post("/user/updateScores", function (req, res) {
var user = new User({
username:req.body.username,
win:req.body.win,
lose:req.body.lose,
draw:req.body.draw
});
Users.findOne({ username : req.params.username }, function(error, user) {
if (error || !user) {
res.send({ error: error });
} else {
user.update(function (err, user) {
if (err) res.json(err)
req.session.loggedIn = true;
res.redirect('/user/' + user.username);
});
}
});
});
的問題是,當我嘗試更新,當我試着通過我的html文件更新。它不會更新任何內容,只是保持不變(值爲贏,輸,默認值爲0,所以當我註銷並再次登錄時,贏,輸,記錄的值仍爲零)。我徹底檢查了問題是否是我所做的html和javascript函數,但事實並非如此,所以我認爲問題在於我所做的更新函數。你們中的任何人都知道我錯了哪裏?謝謝!
這是另一個問題。我無法從我的HTML文件中正確調用此函數:我在home.js使用代碼是\t \t <形式行動=「/用戶/ updateScores」方法=「POST」類=「形橫」> \t \t \t 」> \t \t \t \t \t \t \t \t \t \t \t \t \t \t – cor03rock
並且不調用/ user/updatescores函數。 – cor03rock
對不起,但要解決一個評論中的新問題真的不是StackOverflow上的禮儀。看起來你可能沒有提交表單數據?你有一個按鈕,但它不是提交按鈕。 – WiredPrairie